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 服务。