用于提供构建所需镜像的基础镜像
FROM 镜像
FROM centos:latest
用来定义容器运行时的默认命令,可以在使用docker run的时候覆盖掉CMD中定义的命令
运行容器的时候
CMD [“命令1”,“参数1”,“参数2”]
CMD [ "nginx", "-g", "daemon off" ]
用来定义环境变量
ENV 变量名= “变量值”
ENV DIR = "holle"
#也可以指定目录
ENV DIR = "/app/cdd"
用于设置当前工作目录,如果该目录不存在会自动创建
WORKDIR 目录
WORKDIR /root/app
用来定义构建过程中要执行的命令
RUN 命令
RUN echo hello > content.txt
把构建上下文中的文件或者网络文件添加到镜像中
如果文件是一个压缩包会自动解压,如果是网络中的文件并不会解压
ADD 原路径 目标路径
#将sg-blog-vue.tar.gz文件添加到Docker镜像的当前目录
ADD sg-blog-vue.tar.gz .
暴露需要发布的端口,让镜像使用者知道应该发布哪些端口
EXPOSE 端口号1 端口号2 …
EXPOSE 80
从构建上下文中复制内容到镜像中
COPY 原路径 目标路径
COPY sg-blog-vue.tar.gz .
add可以自动解压,下载网络文件
copy就是单纯的拷贝
用来定义容器运行时的默认命令,docker run的时候无法覆盖掉ENTRYPOINT里的内容
运行容器的时候
ENTRYPOINT [“命令1”,“参数1”,“参数2”]
ENTRYPOINT [ "nginx", "-g", "daemon off" ]
#1. `docker build`:这是 Docker 的构建命令
#2. `-t test0:6`:这个选项用来指定构建的镜像的名称和标签
#3. `-f Test01`:这个选项用来指定 Dockerfile 的路径
#4. `.`:这个点表示当前目录,即 Dockerfile 所在的目录。
#这条命令表示:使用当前目录下的 `Test01` 文件作为 Dockerfile,构建一个名为 `test0`、版本标签为 `6` 的 Docker 镜像
dockerfile build -t test0:6 -f Test01 .