那如果我想再里面加个nginx可以通过访问centos的ip端口来进行访问吗
时间: 2023-07-30 21:10:23 浏览: 50
是的,你可以在 CentOS 容器中安装 Nginx,并使用 Docker 的端口映射功能将 Nginx 的端口映射到宿主机上,从而通过访问 CentOS 容器的 IP 地址和映射的端口进行访问。
以下是步骤:
1. 启动一个运行 PHP 的容器,并将其加入到 `my-network` 网络中:
```
docker run -d --name php-container --network my-network php:latest
```
2. 启动一个运行 CentOS 的容器,并将其加入到 `my-network` 网络中,并映射 Nginx 的端口(例如,将容器中的 80 端口映射到宿主机的 8080 端口):
```
docker run -d --name centos-container --network my-network -p 8080:80 centos:latest
```
3. 进入 CentOS 容器后,安装 Nginx,并将其启动:
```
yum install nginx -y
systemctl start nginx
```
4. 编辑 Nginx 的配置文件 `/etc/nginx/nginx.conf`,将 PHP 容器的 IP 地址和端口添加到 Nginx 的 `server` 部分中:
```
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://php-container:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
5. 重新加载 Nginx 配置文件:
```
systemctl reload nginx
```
现在,你可以通过访问 `http://<CentOS 容器的 IP 地址>:8080` 来访问 Nginx,Nginx 将请求转发到 PHP 容器中运行的 PHP 进程。