前幾天計划使用docker compose 編寫一個多容器共用一個容器網絡,結果總是報錯,今天又試了一下才發現是端口綁定的問題造成的,端口只能綁定在產生網卡的容器上,綁定在其它窗口上就會報錯,如下代碼 mysql服務共用了nginx的網卡,在mysql里使用了port:3306時就會運行失敗,將3306移到nginx上啟動就成功了。
version: '3.3'
services:
nginx:
image: "lnp_php"
# container_name: "lnmp_nginx"
ports:
- "80:80"
- "443:443"
- "3306:3306"
expose:
- "3306"
volumes:
- /home/www/php:/home/www:rw
# depends_on:
# - mysql
# links:
# - mysql
mysql:
image: "mysql"
# container_name: "lnmp_mysql"
# ports:
# - "3306:3306"
# expose:
# - "3306"
volumes:
- /home/docker/conf/mysql_w:/etc/mysql:rw
environment:
- MYSQL_ROOT_PASSWORD=123456
depends_on:
- nginx
network_mode: "service:nginx"
