Docker学习笔记 — Dockerfile最佳实践
2015-05-25 16:38
1011 查看
以下为Dockerfile编写的一些最佳实践总结。
当软件需要指定特定版本的时候使用“=”直接指定。
参考资料:
Dockerfile最佳实践
不要在构建中升级版本
不需要在容器中使用apt-get upgrade来升级软件版本,更新可能会经常失败,而且可能会产生不一致的镜像。使用小型基础镜像
建议使用debian作为基础镜像,会更轻量,足够小并且没有包含任何不需要的包。使用特定的标签
在指定基础镜像的时候应当标明完整的仓库名和标签,尽量不要使用latest,因为随着时间的变化,latest版本的镜像也会改变,可能会导致Dockerfile出错。软件安装指令组合
apt-get update与apt-get install应当组合使用,安装多个软件时应该使用\来进行多行编写,例如:RUN apt-get update && apt-get install -y \ aufs-tools \ btrfs-tools \ build-essential \ curl \ dpkg-sig \ git \ libcap-dev \ libsqlite3-dev \ lxc=1.0* \ s3cmd=1.1.0*
当软件需要指定特定版本的时候使用“=”直接指定。
公开端口
在Dockerfile中你有能力映射私有和公有端口。但是永远不要通过Dockerfile映射共有端口。我们可以在运行容器的时候使用-p参数设置公有端口。CMD和ENTRYPOINT组合使用
使用CMD和ENTRYPOINT时,应当使用数组语法,不要使用命令语法。ADD和COPY命令
COPY仅提供本地文件向容器的拷贝,ADD还另外支持拷贝tar包和URL。但是拷贝本地文件时COPY是首选。参考资料:
Dockerfile最佳实践
相关文章推荐
- docker学习笔记4.1-使用Dockerfile文件构建镜像
- DockerFile最佳实践:
- Docker学习笔记之使用Dockerfile创建镜像
- [连载] 深入理解Java虚拟机(JVM高级特性与最佳实践) 学习笔记连载分享
- Docker学习笔记(1)——Dockerfile创建镜像
- OpenResty 最佳实践学习--实战演习笔记(2)
- OpenResty 最佳实践学习--实战演习笔记(3)
- docker学习笔记16:Dockerfile 指令 ADD 和 COPY介绍
- Dockerfile 最佳实践
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- docker学习笔记17:Dockerfile 指令 ONBUILD介绍
- 【第五章-最佳实践】javascript DOM 编程艺术-学习笔记
- ios蓝牙开发学习笔记(五)与peripheral通信的最佳实践
- [ASP.NET学习笔记之三]ADO.NET开发最佳实践
- 在 Docker 上开发应用 - 编写 Dockerfile 的最佳实践
- docker--学习笔记最后附dockerfile--nginx实例
- React-Native学习笔记——react-redux最佳实践基础篇
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- docker学习笔记(2)---Dockerfile