0
点赞
收藏
分享

微信扫一扫

实例 1:基于 Docker 的 Nginx 静态网站容器化部署

需求背景

搭建一个高效、可移植的静态网站服务,用于展示企业官网,要求支持自定义配置、日志持久化及快速扩容。

实现步骤

  1. 环境准备
  • 安装 Docker(版本 20.10+)及 Docker Compose,确保用户拥有容器操作权限。
  • 准备静态网站文件(HTML、CSS、JS 等),存放于./website目录。
  1. 编写 Dockerfile
    基于官方 Nginx 镜像构建自定义镜像,实现网站文件拷贝与配置修改:






    dockerfile





FROM nginx:alpine
# 复制静态文件到Nginx默认目录
COPY ./website /usr/share/nginx/html
# 替换默认配置,开启gzip压缩
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 暴露80端口
EXPOSE 80

其中nginx.conf可配置缓存策略、跨域规则等:

nginx

server {
    listen 80;
    root /usr/share/nginx/html;
    gzip on;
    gzip_types text/css application/javascript;
}

  1. 构建与运行
  • 构建镜像:docker build -t static-website:v1 .
  • 运行容器:docker run -d -p 8080:80 -v ./logs:/var/log/nginx --name my-website static-website:v1
  • -v参数实现日志持久化到宿主机./logs目录。
  1. 验证与扩展
  • 访问http://localhost:8080确认网站可用,查看./logs/access.log验证日志输出。
  • 扩展:通过 Docker Compose 集成 HTTPS(搭配 Certbot 容器),或使用 Nginx 作为反向代理指向其他容器。

关键知识点

  • 基础镜像选择(alpine 版本减小镜像体积);
  • 数据卷(Volume)实现持久化;
  • 多阶段构建优化(如需压缩静态资源可增加压缩步骤)。
举报

相关推荐

0 条评论