前幾天計划使用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"