Dockerfile
▶ 构建一个最小化的Nginx镜像
• 编写Dockerfile文件
关键字:
▪ FROM:指定基础镜像 #必须是第一条 指令
FROM mysql:5.7
▪ ENV:设置环境变量 #在构建和运行时都可使用
ENV KEY=value
▪ ARG:构建时变量(仅构建阶段可用) #使用--build-arg传参
ARG VERSION=1.0
▪ WORKDIR:设置工作目录 #后续RUN、CMD等指令的路径基准
WORKDIR /app
▪ RUN:构建镜像时执行命令
RUN 命令1 \
命令2
▪ COPY:复制文件/目录到镜像 #从构建上下文到复制到镜像
COPY src/ /app/
▪ ADD:复制并自动处理压缩包和远程文件
ADD file.tar.gz /app/
ADD http://xxx.file /tmp/
▪ EXPOSE:声明容器运行的端口 #仅作为文档说明,不会真正打开端口
▪ VOLUME:声明挂载点(持久化目录)
VOLUME ["/data"] #容器内地址
▪ USER:指定运行用户 #不适用root更安全
USER nginx
▪ ENTRYPOINT:容器启动入口(不可被覆盖)
ENTRYPOINT["python3"]
▪ CMD:容器启动默认命令(可被覆盖) #docker run可覆盖CMD
CMD ["bash"]
▪ HEALTHCHECK:健康检查 #判断容器健康状态
HEALTHCHECK CMD curl -f http://localhost || exit 1
• 配套配置文件
nginx.conf default.conf
▶ 构建和运行
• 创建项目目录结构

• 构建镜像
docker build -t mininginx:v1 .
• 运行镜像
docker run -d -p 80:80 --name nginx mininginx:v1
许可协议:
CC BY 4.0