docker 安装nginx

我爱海鲸 2026-02-03 21:38:40 暂无标签

简介nginx、ng

步骤一:先在宿主机创建所需目录结构

 
首先需要在宿主机的 /opt/docker/nginx 下创建对应的子目录,分别存放配置、网页内容和日志,避免 Docker 启动时因目录不存在而报错(Docker 自动创建目录会是 root 权限,可能引发权限问题)。
# 创建主目录和子目录(conf:配置目录,html:网页内容目录,logs:日志目录)
mkdir -p /opt/docker/nginx/{conf,html,logs}

创建完成后,目录结构如下:

/opt/docker/nginx/
├── conf   # 存放 Nginx 配置文件
├── html   # 存放 Nginx 默认网页内容
└── logs   # 存放 Nginx 访问日志、错误日志

步骤二:复制 Nginx 默认配置文件到宿主机(关键)

 
因为直接挂载空的 conf 目录会覆盖容器内的 Nginx 默认配置,导致 Nginx 无法正常启动,所以需要先启动一个临时 Nginx 容器,将默认配置文件复制到宿主机的 /opt/docker/nginx/conf 目录中。
 
  1. 启动临时 Nginx 容器(命名为 tmp-nginx):
docker run --name tmp-nginx -d nginx

   2.复制容器内的 Nginx 核心配置文件到宿主机的目标目录:

# 复制 nginx.conf(主配置文件)
docker cp tmp-nginx:/etc/nginx/nginx.conf /opt/docker/nginx/conf/

# 复制 conf.d 目录(虚拟主机配置目录,默认包含 default.conf)
docker cp tmp-nginx:/etc/nginx/conf.d /opt/docker/nginx/conf/

    3.停止并删除临时容器(已完成配置文件复制,无需保留):

docker stop tmp-nginx && docker rm tmp-nginx

步骤三:创建并启动挂载目录的 Nginx 容器

 
使用 docker run 命令启动 Nginx 容器,同时完成目录挂载、端口映射(宿主机 80 端口映射到容器 80 端口),命令如下:
docker run \
--name nginx \
-p 80:80 \
-v /opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/docker/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /opt/docker/nginx/html:/usr/share/nginx/html \
-v /opt/docker/nginx/logs:/var/log/nginx \
--restart=always \
-d nginx

你好:我的2025