我尝试连接到MySQL数据库,它在本地docker上作为docker服务(从mysql:5.7镜像创建)运行。当我尝试的时候:
mysql -u myuser -p mydb -h 127.0.0.1
我收到以下错误:ERROR 2002 (HY000): Can't connect to MySQL server on '127.0.0.1' (115)
我的MySQL服务的docker设置如下:
networks:
front-tier:
name: front-tier
attachable: true
ipam:
config:
- subnet: 70.28.0.0/16
back-tier:
name: back-tier
attachable: true
services:
mysql:
image: mysql
hostname: mysql
deploy:
restart_policy:
condition: on-failure
placement:
replicas: 1
labels:
com.dgyar.description: "Data node"
com.dgyar.department: "IT"
command: --sql_mode=""
environment:
MYSQL_ROOT_PASSWORD: ******
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: ******
MYSQL_ROOT_HOST: '%'
networks:
- back-tier
volumes:
- "/mnt/mysql:/var/lib/mysql"
发布于 2020-04-11 19:15:42
您需要将端口从MySQL容器映射到主机上,才能从命令访问该端口。
例如
networks:
front-tier:
name: front-tier
attachable: true
ipam:
config:
- subnet: 70.28.0.0/16
back-tier:
name: back-tier
attachable: true
services:
mysql:
image: mysql
hostname: mysql
deploy:
restart_policy:
condition: on-failure
placement:
replicas: 1
labels:
com.dgyar.description: "Data node"
com.dgyar.department: "IT"
command: --sql_mode=""
environment:
MYSQL_ROOT_PASSWORD: ******
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: ******
MYSQL_ROOT_HOST: '%'
networks:
- back-tier
volumes:
- "/mnt/mysql:/var/lib/mysql"
ports:
- "5000:3306"
mysql -u myuser -p mydb -h 127.0.0.1 -P 5000
https://stackoverflow.com/questions/61155805
复制相似问题