码头新手来了。
我试图实现的是用docker compose运行多个mysql容器。
这是我的docker-compose.yml:
version: '2'
services:
mysql:
build: ./docker-configs/mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: admin
volumes:
- ./data/mysql:/var/lib/mysql
- ./data/init.d:/docker-entrypoint-initdb.d
mysql2:
build: ./docker-configs/mysql2
ports:
- "3306:3307"
environment:
MYSQL_ROOT_PASSWORD: admin
volumes:
- ./data/mysql2:/var/lib/mysql2
- ./data/init.d:/docker-entrypoint-initdb.d
nginx-proxy:
image: jwilder/nginx-proxy
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- /etc/localtime:/etc/localtime:ro
- ./docker-configs/nginx-proxy/certs:/etc/nginx/certs
ports:
- '80:80'
- '443:443'
但当我运行docker compose up-d时,它会显示以下错误:
错误:for consultingdocker\u mysql2\u 1无法启动服务mysql2:驱动程序未能在终结点consultingdocker\u mysql2\u 1上编程外部连接(7eac3d28093db7be7b5c81495ee652f6a1df8208388d33df668f1732a118481a):绑定0.0.0:3306失败:端口已分配
错误:对于mysql2,无法启动服务mysql2:驱动程序未能在终结点咨询docker\u mysql2\u 1(7eac3d28093db7be7b5c81495ee652f6a1df8208388d33df668f1732a118481a)上编程外部连接:绑定0.0.0:3306失败:端口已分配错误:启动项目时遇到错误。
请告诉我我错过了什么?
2条答案
按热度按时间7y4bm7vi1#
港口
3306
容器已在主机上使用mysql
,因此不能在主机上为分配相同的端口mysql2
容器。改变你的想法mysql2
服务配置如下,应该可以-现在你的
mysql2
服务将在主机上的端口3307上可用。7rfyedvj2#
“端口”阵列配置反转。如果你写这个:
它表示“将主机网络上的端口3306绑定到集装箱网络中的端口3307”。
而你想要的恰恰相反。
交换号码就行了