Typography

活版印字

web

Posted at # blog

web

OverView

FROM nginx:1.25.3-alpine
# 这份是用于从本地的静态资源构建镜像的 Dockerfile

# 将 Nginx 配置文件模板拷到容器中
COPY default.conf.template /etc/nginx/conf.d/default.conf.template
COPY default.conf.ssl.template /etc/nginx/conf.d/default.conf.ssl.template

# 静态资源 拷到容器
ADD dist_blog/ /usr/share/nginx/html/
ADD dist_admin/ /usr/share/nginx/html/admin

# 初始化脚本, 根据环境变量和模板生成 Nginx 配置文件
COPY ./run.sh /docker-entrypoint.sh
RUN chmod a+x /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]

# 每次容器启动时执行
CMD [ "nginx", "-g", "daemon off;" ]

EXPOSE 80
EXPOSE 443

用于构建一个基于 Nginx 的 Docker 镜像,该镜像主要用于提供静态资源服务

指定了基础镜像为 nginx:1.25.3-alpine,即使用 Alpine Linux 作为基础,并安装了 Nginx 1.25.3 版本。

  • ENTRYPOINT ["/docker-entrypoint.sh"]:指定容器启动时执行的脚本为 /docker-entrypoint.sh
  • CMD命令运行,启动 Nginx 并保持前台运行,这样容器不会因为 Nginx 后台运行而退出。
  • 暴露端口,声明了容器将监听 80 和 443 端口,分别用于 HTTP 和 HTTPS 服务。