19年第41周:Docker容器——镜像

一、容器Container、仓库Repository、镜像Image的理解

镜像就像我们伟大的袁隆平的杂交水稻的种子;
容器就像我们伟大的袁隆平的稻田;
仓库就想我们伟大的袁隆平的粮仓;

二、学习Docker学习什么?

1.使用镜像

NOTE: 使用镜像就像使用种子种田一样。

docker run --name webserver  -d -p 81:80 nginx
# 这句命令用我们伟大的袁隆平的话讲就是:docker选择了一块田地去耕田(run),并命名为webserver, 在这块田地上种了nginx种子。
docker exex -it webserver  bash
# 这句命令用我们伟大的袁隆平的话讲就是:以交互的方式(-it)进入名为webserver的田地里,并在田地执行了bash动作。

2.制作镜像

NOTE: 制作镜像就像我们伟大的袁隆平在研究杂交水稻,基因能够遗传,Docker镜像一样也可以遗传。

  • Dockerfile
From nginx 
# 这句话的意思是,我们这次制作的种子(image镜像),遗传自Nginx
RUN echo '

Hello, this is Docker!

' > /usr/share/nginx/html/index.html # 这句话的意思,我们在基础的基因上修改了一下下而已。 # 需要注意的是,Dockerfile 中每一个指令都会建立一层镜像,就想一层基因
  • 合成镜像
docker build -t nginx:v3 . 

nginx:v3 是镜像的名称, . 是构建镜像上下文的路径

19年第41周:Docker容器——镜像_第1张图片
image.png

  • 我们可不可以从零开始制作镜像?

当然可以使用From scratch (scratch 打草稿)

19年第41周:Docker容器——镜像_第2张图片
image.png

  • 可以一次制作多个基因
19年第41周:Docker容器——镜像_第3张图片
这种写法将会产生7层镜像

19年第41周:Docker容器——镜像_第4张图片
产生一层镜像
  • 丢弃制作镜像过程中产生的副产品

  • 从其它方式构建

NOTE: 原理都是一样的,把数据打包发给Docker引擎


19年第41周:Docker容器——镜像_第5张图片
image.png

19年第41周:Docker容器——镜像_第6张图片
image.png

19年第41周:Docker容器——镜像_第7张图片
image.png

19年第41周:Docker容器——镜像_第8张图片
image.png

你可能感兴趣的:(19年第41周:Docker容器——镜像)