镜像
![](https://img.haomeiwen.com/i1707073/40ee83fdde151d8f.jpg)
base镜像
![](https://img.haomeiwen.com/i1707073/211f3852b3207968.jpg)
![](https://img.haomeiwen.com/i1707073/08dea79fd13cf247.jpg)
![](https://img.haomeiwen.com/i1707073/a22a50090815252b.jpg)
镜像分层结构
![](https://img.haomeiwen.com/i1707073/87b2b40726093853.jpg)
![](https://img.haomeiwen.com/i1707073/3f3eab9b50b62cd5.jpg)
![](https://img.haomeiwen.com/i1707073/41c9c206606f5e1e.jpg)
![](https://img.haomeiwen.com/i1707073/a7a64c18185d01a9.jpg)
Dockerfile构建镜像
![](https://img.haomeiwen.com/i1707073/f5b85e9e3bd353ac.jpg)
Docker构建镜像时会使用缓存,下载时也会
Dockerfile常用命令
![](https://img.haomeiwen.com/i1707073/f1d589e475603719.jpg)
![](https://img.haomeiwen.com/i1707073/5c2f87cde1e1a9f3.jpg)
![](https://img.haomeiwen.com/i1707073/a0ade3ca4021eade.jpg)
RUN vs CMD vs ENTRYPOINT
可以用两种方式指定RUN、CMD和ENTRYPOINT要运行的命令:Shell格式和Exec格式
![](https://img.haomeiwen.com/i1707073/5958e88671b696ae.jpg)
![](https://img.haomeiwen.com/i1707073/ffeda18d1aef2fd7.jpg)
CMD和ENTRYPOINT推荐使用Exec格式,可读性强,RUN则两者都行。
- 如果docker run指定了命令,则CDM指定的命令将被忽略
- 如果有多个CDM命令,则只有最后一个有效
-
CMD还可以给ENTRYPOINT指定的命令提供额外参数
三个命令最佳实践.jpg
网友评论