我已经在Mac上安装了docker。我有在我的本地计算机(MAC)上运行的MySQL容器。
Docker ps命令为我提供以下输出-
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b5c50b2d334a test_mysql2 "docker-entrypoint.s…" 2 hours ago Up 2 hours (healthy) 0.0.0.0:32783->3306/tcp test_mysql2_1
我知道将在容器中设置的mysql的用户名和密码。
我想连接到mysql并运行一些查询,但是我无法弄清楚如何连接到它。任何帮助将不胜感激。
答案 0 :(得分:0)
如果要通过Docker连接到MySQL吗?请按照我正在使用的分步过程进行操作。
第1步:从docker hub提取MySql映像。以下命令将提取最新的mysql映像。
cli> docker pull mysql
第2步:从该图像运行容器。 “ -name”为容器命名。 “ -e”指定您需要设置的运行时变量。使用“ MYSQL_ROOT_PASSWORD”设置MySQL root用户的密码。 “ -d”告诉泊坞窗在后台运行容器。
cli> docker run --name=testsql -e MYSQL_ROOT_PASSWORD=rukshani -d mysql
这将输出一个容器ID;这表示该容器在后台正常运行。
第3步:然后通过发出“ docker ps”命令
来检查容器的状态cli> docker ps
现在您应该能够看到MySQL在端口3306上运行。
步骤4 :要使用以下命令检出正在运行的容器的日志
cli > docker logs testsql
步骤5 :使用以下内容查找容器的IP。从输出中检出“ IPAddress”,它将告诉您IP地址。
cli> docker inspect testsql
现在,您应该可以使用端口3306上的tIP ip地址连接到MySQL。
根据我对您的问题的了解,这就是您所需要的。 (我希望如此)
(这不是我自己的文档,我只想记录所有内容,尤其是那些我无法理解的过程,因此,即使发生相同的事情或将来需要相同的过程,我也不会浪费我需要再次进行研究,但是我将打开我的笔记并运行命令。)
答案 1 :(得分:0)
正如您在name=***** 123
的输出中看到的那样,端口docker ps
(本地计算机)被映射到docker容器内的端口32783
。如果您使用的是MySQL客户端(例如MySQL Workbench),则应该能够使用ip 3306
和端口localhost
进行连接。如果不是,则应使用32783
,然后在容器内打开一个交互式mysql shell(如mulg0r所评论)。