centos系统中docker安装nginx
时间: 2025-05-31 22:38:02 浏览: 10
### 在 CentOS 系统上通过 Docker 安装和运行 Nginx
要在 CentOS 系统上通过 Docker 部署 Nginx,可以按照以下方法操作:
#### 1. 安装 Docker
在 CentOS 上安装 Docker 是第一步。可以通过官方文档中的命令来完成此过程[^3]。
```bash
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
```
确认 Docker 是否已成功启动:
```bash
docker version
```
如果显示版本号,则说明安装成功。
---
#### 2. 创建并运行 Nginx 容器
创建一个基于官方镜像 `nginx` 的容器,并将其端口映射到主机上的指定端口。以下是推荐的命令结构[^1][^2]:
```bash
docker run -d \
--name nginx \
-p 80:80 \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /usr/local/nginx/logs:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \
--privileged=true \
nginx
```
解释各参数的作用:
- `-d`: 后台模式运行容器。
- `--name nginx`: 将容器命名为 `nginx`。
- `-p 80:80`: 映射宿主机的 80 端口至容器内的 80 端口。
- `-v ...`: 使用卷挂载方式将本地路径绑定到容器内部路径。
- `/usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro`: 主配置文件只读挂载。
- `/usr/local/nginx/logs:/var/log/nginx`: 日志存储位置。
- `/usr/local/nginx/html:/usr/share/nginx/html`: 前端静态资源目录。
- `/usr/local/nginx/conf.d:/etc/nginx/conf.d`: 自定义子配置文件目录。
- `--privileged=true`: 提供更高权限给容器(可选)。
---
#### 3. 更新配置或前端工程
当修改了 `nginx.conf` 或者替换了 `/usr/local/nginx/html` 下的内容时,需重启容器以使更改生效:
```bash
docker restart nginx
```
---
#### 4. 查看容器状态
验证容器是否正常运行以及监听的端口号:
```bash
docker ps
curl http://localhost
```
如果返回默认页面或者自定义内容,则表示部署成功。
---
#### 注意事项
- **根路径设置**: 如果在 `nginx.conf` 中设置了 `root` 路径,请确保其指向的是容器内实际存在的路径而不是外部挂载路径。
- **日志排查**: 若遇到问题可通过查看日志定位原因:
```bash
docker logs nginx
```
---
### 示例代码片段
以下是一个简单的 `nginx.conf` 文件模板用于参考:
```nginx
http {
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html; # 对应容器内路径
index index.html index.htm;
}
}
}
```
---
阅读全文
相关推荐



















