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