Dockerfile指令
FROM(指定基础镜像)
LABEL(贴标签)
RUN(执行shell命令)
ENV(设置环境变量,全局可用,但只能放在FROM后面)
COPY(复制文本)
ADD(复制和解包文件)
CMD(容器启动命令)
ENTRYPOINT(入口点,搭配脚本做初始化)
ARG(在build阶段设置环境变量,可放在FROM前面,供FROM引用变量)
VOLUME(匿名卷 语法:VOLUME 容器内路径 宿主机目录为:/var/lib/docker/volume/volume_id/_data)
EXPOSE(暴露端口)
WORKDIR /data(类似于cd效果,切换目录,后续指令都在WORKDIR目录下工作)
ONBUILD(子镜像引用父镜像的指令 如: ONBUILD RUN touch abc.txt)
USER(指定容器运行身份) 如:RUN groupadd -r mysql && useradd -r -g mysql mysql USER mysql
HEALTHCHECK(检查容器健康性)通过命令结果判断是否健康
.dockerignore(忽略掉不想加的文件)vim .dockerignore
指令运行的阶段
第一阶段:Dockerfile到制作镜像,docker build(RUN)
第二阶段:跑容器阶段contianer,docker run(CMD)
BUILD | RUN | BOTH |
FROM | CMD | WORKDIR |
LABEL | VOLUME | UESR |
COPY | EXPOSE | ENV |
ADD | ENTRYPOINT | |
RUN | ||
ONBUILD | ||
.dockerignore |