Docker 实用技巧与镜像构建全解析
1. 指定特定镜像进行构建
在构建 Docker 镜像时,大多数情况下我们会使用通用的镜像名称,如 “node” 或 “ubuntu”,通常不会有问题。但使用镜像名称时,可能会出现镜像改变而标签不变的情况,因为仓库名称只是一个引用,可能会指向不同的底层镜像。即使使用冒号指定标签(如 ubuntu:trusty),也无法消除这种风险,因为安全更新可能会使用相同的标签自动重建易受攻击的镜像。
- 问题 :确保构建使用的是特定且不变的镜像。
- 解决方案 :在 Dockerfile 中指定特定的镜像 ID。例如:
FROM 8eaa4ff06b53
RUN echo "Built from image id:" > /etc/buildinfo
RUN echo "8eaa4ff06b53" >> /etc/buildinfo
RUN echo "an ubuntu 14.4.01 image" >> /etc/buildinfo
CMD ["echo","/etc/buildinfo"]
要从特定的镜像(或层)ID 进行构建,该镜像 ID 及其数据必须存储在本地的 Docker 守护进程中。Docker 注册表不会在 Docker Hub 或其他配置的注册表中查找该镜像 ID。需要注意的是,所引用的镜像不必有标签,可以是本地的任何层。
如果要将镜像远程持久化,最好将镜像标
超级会员免费看
订阅专栏 解锁全文
1037

被折叠的 条评论
为什么被折叠?



