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 |
服务器租用托管,机房租用托管,主机租用托管,https://www.e1idc.com