如何让Docker使用其他端口并在Plesk Obsidian中保留Apache2服务
问题解答
可以实现让Apache2正常运行,但你当前的docker-compose.yml端口映射配置存在方向错误,需要先修正,再配合后续操作:
关键操作步骤
- 修正端口映射格式:Docker端口映射规则是
主机端口:容器端口,你当前的配置是把主机的80/443绑定到容器端口,这会继续占用Apache2需要的核心端口。必须调整为将容器服务映射到主机的其他空闲端口,修改后的ports段应该是:ports: - "444:443" # 主机444 → 容器443,释放主机443给Apache2 - "88:80" # 主机88 → 容器80,释放主机80给Apache2 - "8888:8080" # 主机8888 → 容器8080 - "2096:2095" # 主机2096 → 容器2095 - "2098:2096" # 主机2098 → 容器2096 - 重启容器:在
docker-compose.yml所在目录执行以下命令,让新配置生效:
无需重启整个Docker服务,仅重启容器即可。docker-compose down docker-compose up -d - 开放防火墙端口:在Plesk Obsidian防火墙中开放444、88、8888、2096、2098这些主机端口,确保外部能访问容器服务。
- 启动并验证Apache2:执行
systemctl start apache2启动服务,再用netstat -tulpn | grep apache2检查是否正常监听80/443端口,最后访问域名确认Apache站点能正常打开。
注意事项
- 容器内的Nginx配置无需修改,保持使用容器内部的443/80等端口即可,外部通过主机映射的端口访问。
- 如果Plesk配置了SSL证书,确保Apache2的443端口正确绑定对应证书,避免访问异常。
内容的提问来源于stack exchange,提问作者JB Benjamin
相关产品推荐
相关产品推荐

