dockerfile建镜像

由命令语句组成。#为注释。分四部分,基础镜像信息,维护者信息,镜像操做指令,容器启动时执行指令。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下会有缓存包

提升生成速度

调整合理的指令顺序

减小外部源干扰

高度定制化的神器。