<返回更多

理解了镜像和容器,你就掌握了Docker的80%

2022-07-11    测试店小二
加入收藏

一、Docker架构和底层技术

1.Docker Platform(平台)

理解了镜像和容器,你就掌握了Docker的80%

 

2.Docker Engine

2.1 组成

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

3.Docker Architecture(架构)

理解了镜像和容器,你就掌握了Docker的80%

 

4.底层技术支持

Namespaces:做隔离pid.NET、ipc、mnt、uts

Control groups:做资源限制

Union file systems:Container和image的分层

 

二、Docker Image(镜像)

1.概述

理解了镜像和容器,你就掌握了Docker的80%

 

docker image ls

 

2.获取image的第一种方式

Build from Dockerfile

Docker提供一个配置文件Dockerfile,就好比之前博主使用Vagrant工具时的Vagrantfile文件一样,通过Dockerfile文件就可以去定义一个docker image镜像,build这个dockerfile文件就可以构建出一个image镜像

理解了镜像和容器,你就掌握了Docker的80%

 

docker build -t cdtaogang123/redis:latest .
{
  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
理解了镜像和容器,你就掌握了Docker的80%

 

sudo systemctl daemon-reload
sudo systemctl restart docker
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

3.获取image的第二种方式

Pull from Registry

类似github 仓库,可以git clone拉取仓库的文件,也可以将文件push到仓库中,那么docker pull则是在docker hub上去拉取你要的镜像

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

docker pull centos:centos8
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

4.如何制作一个Base Image

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

mkdir hello-world
cd hello-world
vi hello.c
理解了镜像和容器,你就掌握了Docker的80%

 

sudo yum install gcc
sudo yum install glibc-static
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

三、Container(容器)

1.什么是Container

理解了镜像和容器,你就掌握了Docker的80%

 

2.运行容器

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

3.交互式运行容器

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

4.Docker和Docker Image简写命令及Container命令

理解了镜像和容器,你就掌握了Docker的80%

 

docker container ls >> docker ps
docker container ls -a >> docker ps -a
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

docker container rm >> docker rm
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

docker image ls >> docker images
理解了镜像和容器,你就掌握了Docker的80%

 

docker image rm >> docker rmi
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

docker ps -aq
理解了镜像和容器,你就掌握了Docker的80%

 

docker rm $(docker ps -aq)
理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

四、构建自己的Docker Image

1.docker container commit(docker commit)

1.1 交互式运行容器

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

1.2 将容器commit成一个image

说明:上一步在容器中安装了vim并退出了容器,那么在已退出的容器中可以看到该容器,现在则需要将这个容器commit成一个镜像,这个镜像是基于centos8基础镜像的,但是跟centos8基础基础镜像不一样的是它安装了vim

理解了镜像和容器,你就掌握了Docker的80%

 

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit stupefied_fermat cdtaogang/centos-vim:centos8

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

以上创建image的方式不提倡使用,因为如果发布该image,用户拿到该image是不知道该image是如何构建的,并且这种方式构建image很有可能把不安全的东西放到image里面发布出去,即该image肯定是不安全的

2.docker image build(docker build)

2.1 创建dockerfile

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

2.2 通过dockerfile构建出image

理解了镜像和容器,你就掌握了Docker的80%

 

理解了镜像和容器,你就掌握了Docker的80%

 

通过dockerfile构建镜像和commit容器生成的镜像差不多,但建议使用dockerfile构建image,这样的话只需要分享dockerfile这个文件给别人就可以了,别人通过你分享的dockerfile文件就能构建出跟你一样的image

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>