dockerfile 入门
Dockerfile,Docker镜像,Docker容器三者的关系
从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,
Dockerfile是软件的原材料
Docker镜像是软件的交付品
Docker容器则可以认为是软件的运行态。
Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。
Dockerfile保留字指令
FROM : 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER : 镜像维护者信息
RUN : 容器构建时运行的命令
CMD : 指定一个容器启动时运行的命令,可以有多个,但是只有最后一个有效
EXPOSE : 当前容器对外暴露的端口
ENV : 用来构建镜像过程中环境变量
ADD : 将宿主机中的文件拷贝到镜像,并且自动处理URL和解压压缩包
COPY : 将宿主机中的文件拷贝到镜像
VOLUME : 容器数据卷,用于数据保存和持久化工作
ENTRYPOINT : 指定一个容器启动时运行的命令 ,不同于CMD,ENTRYPOINT是对命令的追加
WORKDIR : 创建一个容器后,终端登录进来后的默认目录
ONBUILD : 当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild会被触发,相当于触发器一样
ENV :GOPATH /usr/go/src $GOPATH