docker学习——使用Dockerfile创建镜像

2019-01-24  本文已影响0人  程序猿小小白

1.基本结构

基础镜像信息,维护者信息,镜像操作指令和容器启动时执行指令

2.指令说明

(1)FROM:指定所创建镜像的基础镜像,如果本地不存在,则默认会去docker hub下载

(2)MAINTAINER:指定维护者信息

(3)RUN:运行指定命令

格式:RUN command 或RUN ["execuable","param1","param2"]

(4)CMD:用来指定启动容器时默认执行的命令

格式:

《1》CMD ["executable","param1","param2"] (推荐用)

《2》CMD command param1 param2

《3》CMD ["param1","param2"]:提供给ENTRYPOINT的默认参数

如果用户启动容器时手动指定了运行命令作为run的参数,则会覆盖掉CMD指定的命令

(5)LABEL:用来指定生成镜像的元数据标签信息

格式:

LABEL key=value key=value ...

(6)EXPOSE:申明镜像内服务所监听的端口

格式:EXPOSE port ....

该指令只是起到申明作用,并不会自动完成端口的映射,在启动容器时需使用-p

(7)ENV:指定环境变量

格式:

ENV key value或ENV key=value

docker run --env key=value可覆盖指定环境变量

(8)ADD:复制指定路径下的内容到容器中的指定路径下

格式:

ADD src dest

(9)COPY:复制本地主机指定路径下的内容到镜像中的指定路径,目标路径不存在时,自动创建

格式:

COPY src dest

(10)ENTRYPOINT:指定镜像的默认入口命令

格式:

ENTRYPOINT ["executable","param1","param2"]

ENTRYPOINT command param1 param2

可被--entrypoint参数覆盖

(11)VOLUME:创建一个数据卷挂载点

格式:

VOLUME  ["/data"]

(12)USER:指定运行容器时的用户名或UID

格式:

USER daemon

(13)WORKDIR:为后续的RUN,CMD,ENTRYPOINT指定配置工作目录

格式:

WORKDIR /path/to/workdir

(14)ARG:指定一些镜像内的参数,这些参数在执行docker build命令时才以--build-arg varname=value格式传入

格式:

ARG name[=default value]

可以用docker build --build-arg name=value指定参数

(15)ONBUILD:配置当所创建的镜像作为其他镜像的基础镜像时,所执行的创建操作指令

格式:

ONBUILD [INSRUCTTON]

(16)STOPSIGNAL:指定所创建镜像启动时的容器接收退出的信号值

(17)SHELL:指定其他命令使用shell时的默认shell类型

3.创建镜像

docker build [option] 内容路径

上一篇 下一篇

猜你喜欢

热点阅读