我的网站托管在生产环境的共享主机上。该网站使用 localhost
在代码中连接数据库。在我的docker-compose文件中,我有一个php:5.6-apache
和mysql:5.6
实例。
有没有办法告诉docker-compose将web容器的端口3306转发到db容器的3306端口,以便当web容器尝试在3306上连接本地主机时,它会被发送到3306上的db,并且还要将web容器的80端口共享给外部世界?
当前的docker-compose.yml文件:
version: "3"
services:
web:
build: .
#image: php:5.6-apache
ports:
- "8080:80"
environment:
- "APP_LOG=php://stderr"
- "LOG_LEVEL=debug"
volumes:
- .:/var/www/html
network_mode: service:db # See https://dev59.com/u1cO5IYBdhLWcg3wpjMz#45458460
# networks:
# - internal
working_dir: /var/www
db:
image: mysql:5.6
ports:
- "3306:3306"
environment:
- "MYSQL_XXXXX=*****"
volumes:
- ./provision/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
# networks:
# - internal
networks:
internal:
driver: bridge
当前错误:
错误:针对 web 服务无法创建容器:端口发布和容器类型的网络模式选项冲突