B站(乐哥聊编程)有完整配套视频,免费观看
常用指令
ARG
用途
申明创建镜像过程中使用的变量
用法
ARG tag=latest
FROM
用途
指定基础镜像,写在第一行
用法
FROM nginx:latest
LABEL
用途
给镜像元数据添加标签
用法
LABEL author=lglbc
EXPOSE
用途
申明需要需要的端口,但是不会做端口映射
用法
EXPOSE 80 443
ENV
用途
指定环境变量,在后续容器中也会存在
用法
ENV key=value key1=value1
ENTRYPOINT
用途
设置镜像的默认入口命令,容器启动时,首先会去执行这个命令
用法
ENTRYPOINT ["ls" "-l"]
WORKDIR
用途
配置工作目录
用法
WORKDIR /a
ONBUILD
用途
build镜像时,优先执行的指令,只会在子镜像中执行
用法
ONBUILD 任意dockerfile 指令
操作指令
RUN
用途
运行指定命令
用法
RUN ls -l
CMD
用途
CMD 指令用来指定启动容器时默认执行的命令 。与run不同之处在于这个只能出现一次,如果出现多次,则只有最后一条生效
用法
CMD java -jar app.jar
ADD
用途
添加内容到镜像
用法
ADD ./*.jar /app/
COPY
用途
复制内容到镜像,如果是本地目录推荐使用COPY
用法
COPY ./*.jar /app/
实战案例
代码语言:javascript复制FROM nginx:latest
ARG version=1
LABEL author="乐哥聊编程"
EXPOSE 80 443
ENV profile dev
#ENTRYPOINT echo 'nginx start success...'
WORKDIR /usr/share/nginx/html
ONBUILD RUN apt-get update
ONBUILD RUN apt install -y tree
RUN echo 'dockerfile build success ...'
RUN rm -rf /usr/share/nginx/html/*
ADD ./html/index.html /usr/share/nginx/html/