连接运行在Windows 10上的MySQL Docker容器

6
我正在使用Windows的Docker,运行在Windows 10企业版。我试图连接到正在运行MySQL的容器。我遵循这里的指示https://hub.docker.com/_/mysql/,并使用此命令启动容器docker run --name memories -e MYSQL_ROOT_PASSWORD=password -d mysql:5.6 如果我键入docker ps,我会得到
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
300248b56399        mysql:5.6           "docker-entrypoint.sh"   About an hour ago   Up About an hour    3306/tcp            memories

然而,我无法弄清如何从主机连接到此容器。 我尝试了localhost和127.0.0.1,但每次都会出现以下错误:

/* Connecting to 127.0.0.1 via MySQL (TCP/IP), username root, using password: Yes ... */
/* Can't connect to MySQL server on '127.0.0.1' (10061) */

任何建议?
2个回答

18

我想这比我想象的要简单。我需要发布3306端口。

docker run -p 3306:3306 --name memories -e MYSQL_ROOT_PASSWORD=password -d mysql:5.6


如何持久化MySQL数据?也许您需要启用Docker Volume。 - yuzhen
@yuzhen 我在我的 docker-compose.yml 文件中使用类似以下的内容:volumes: - ./etc/infrastructure/dev/mysql:/etc/mysql/conf.d:ro - ./mysqldb:/var/lib/mysql - temo
这是我第一次在Windows上使用Docker,我以为端口会自动发布/暴露给主机,但事实并非如此。所以,如果有人遇到同样的问题,请检查设置过程中是否确实设置了端口,因为空白字段不会暴露该端口。(现在我知道可能显而易见,但对于初学者来说并非如此) - guilfer

0

在Windows 10上使用Docker MySQL和phpMyAdmin容器

将MySQL卷保留在“C:\ mysql”文件夹中。

为MySQL数据库设置用户名和密码。创建数据库。

docker run --name mysql-server_v2 -d --restart=unless-stopped -v C:\mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootp -e MYSQL_USER=user1 -e MYSQL_PASSWORD=user1p -e MYSQL_DATABASE=projectX mysql:5.7.29

连接 phpMyAdmin 并通过 localhost:8080 访问它

docker run --name phpmyadmin_v2 -d --link mysql-server_v2:db -p 8080:80 phpmyadmin/phpmyadmin

源代码:https://devwl.pl/docker-setup-mysql-with-phpmyadmin-on-windows10-11/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接