插件窝 干货文章 Docker nginx怎么安装与配置挂载

Docker nginx怎么安装与配置挂载

Nginx Docker conf 配置 605    来源:    2025-04-26

Docker 中 Nginx 的安装与挂载配置指南

1. 安装 Docker Nginx

基本安装

# 拉取最新版 Nginx 镜像
docker pull nginx

# 运行一个临时容器用于测试
docker run --name my-nginx -p 80:80 -d nginx

2. 配置挂载

2.1 创建本地目录结构

mkdir -p ~/nginx-docker/{conf,html,logs,ssl}

2.2 从容器中复制默认配置(可选)

# 运行临时容器
docker run --name temp-nginx -d nginx

# 复制默认配置文件到本地
docker cp temp-nginx:/etc/nginx/nginx.conf ~/nginx-docker/conf/
docker cp temp-nginx:/etc/nginx/conf.d ~/nginx-docker/conf/

# 删除临时容器
docker rm -f temp-nginx

2.3 运行带挂载的容器

docker run --name my-nginx \
  -p 80:80 \
  -p 443:443 \
  -v ~/nginx-docker/html:/usr/share/nginx/html \
  -v ~/nginx-docker/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v ~/nginx-docker/conf/conf.d:/etc/nginx/conf.d \
  -v ~/nginx-docker/logs:/var/log/nginx \
  -v ~/nginx-docker/ssl:/etc/nginx/ssl \
  -d nginx

3. 常用配置示例

3.1 自定义 nginx.conf

编辑 ~/nginx-docker/conf/nginx.conf 文件,添加自定义配置。

3.2 添加虚拟主机配置

~/nginx-docker/conf/conf.d/ 目录下创建配置文件,例如 default.conf:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

3.3 添加 SSL 配置(可选)

将证书文件放入 ~/nginx-docker/ssl/ 目录,然后在配置文件中添加 SSL 配置。

4. 管理容器

# 重启容器
docker restart my-nginx

# 查看日志
docker logs my-nginx

# 进入容器
docker exec -it my-nginx bash

# 测试 Nginx 配置
docker exec -it my-nginx nginx -t

5. 使用 Docker Compose(推荐)

创建 docker-compose.yml 文件:

version: '3'
services:
  nginx:
    image: nginx
    container_name: my-nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx-docker/html:/usr/share/nginx/html
      - ./nginx-docker/conf/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx-docker/conf/conf.d:/etc/nginx/conf.d
      - ./nginx-docker/logs:/var/log/nginx
      - ./nginx-docker/ssl:/etc/nginx/ssl
    restart: unless-stopped

然后运行:

docker-compose up -d

注意事项

  1. 确保挂载的目录有正确的权限
  2. 修改配置文件后需要重启容器生效
  3. 使用 nginx -t 测试配置语法是否正确
  4. 生产环境建议使用特定版本的 Nginx 镜像而非 latest 标签

通过以上步骤,您可以在 Docker 中成功安装并配置带有挂载的 Nginx 服务。