由命令语句组成。#为注释。分四部分,基础镜像信息,维护者信息,镜像操做指令,容器启动时执行指令。nginx
from ubuntudocker
maintainer user user@email.comubuntu
run echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list缓存
run apt-get update && apt-get install -y nginx学习
run echo "\ndaemon off;" >> /etc/nginx/nginx.confui
cmd /usr/sbin/nginxget
镜像操做指令,run指令,执行跟随命令,每run一条指令,镜像就新添加一层,并提交。最后是cmd指令,指定运行容器时的操做命令。cmd
dockerfile指令说明。dockerfile
建立镜像。docker build -t build_repo/first_image /tmp/docker_builder 指定了生成标签,以及dockerfile所在路径。将内容发给docker服务端,在那里生成镜像。test
定制本身合适的镜像。学习如何写高效的dockerfile。
精简镜像用途
选用合适的基础镜像如debian镜像
足够清晰的命令注释和维护者信息
使用正确的版本号而不是latest
减小镜像层数
及时删除临时文件和缓存文件,在apt-get后/var/cache/apt下会有缓存包
提升生成速度
调整合理的指令顺序
减小外部源干扰
高度定制化的神器。