常用命令
FROM WORKDIR COPY&&ADD RUN CMD&&ENTRYPOINT
ENTRYPOINT非json则以ENTRYPOT为准,如果ENTRYPOINT和CMD都是JSON则ENTRYPOINT+CMD拼接成shell
下面看个dockerfile
FROM alpine #FROM来自哪个镜像
LABEL k="v" #给镜像一个label,方便查看,实际无作用
WORKDIR /app #工作目录
COPY src/ /app #拷贝本地哪个目录到镜像目录内
RUN echo 321 >> 1.txt #构建时运行指定的命令
ARG B=11 # 设置B为默认值,运行时无效,可以构建时候临时修改变量
ENV A $B #定义A环境变量等于 B
CMD ECHO $A #容器运行后执行的脚本
From XXX(基于什么镜像)
WORKDIR(指定shell语句运行在那个路径下)
COPY(将宿主机的文件拷贝到某路径下)
RUN(运行shell语句,只要构建就会运行,如echo 321 >> 1.txt)
CMD (指定镜像启动运行的脚本,只有容器真正运行的时候才会运行的脚本,执行后容器的生命周期即结束,且一般为阻塞式语句,如tail语句)
其他常用内容
EXPOSE---暴露镜像的指定端口
VOLUME---指定映射文件
STOPSIGNAL---指定容器使用什么信号,一般指定信号名
HEALTHCHECK---检查容易的健康状态
SHELL---指定linux为/bin/sh,windows为cmd
打包镜像
docker build -t 镜像名:版本号 ,版本号可以不要