我已经在mac上安装了docker。我有mysql容器,它在我的本地机器(mac)上运行。
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并运行一些查询,但我不知道如何连接到它。任何帮助都将不胜感激。
2条答案
按热度按时间cwxwcias1#
是否通过docker连接mysql如果是;请遵循我正在使用的步骤。
步骤1:从docker hub中提取mysql映像。下面的命令将提取最新的mysql映像。
步骤2:从该图像运行容器-name'提供容器的名称-e'指定需要设置的运行时变量。使用“mysql\u root\u password”设置mysql root用户的密码-告诉 Docker 在后台运行容器。
这将输出一个容器id;这意味着容器在后台正常运行。
步骤3:然后通过发出“docker ps”命令检查容器的状态
现在您应该可以看到mysql正在3306端口上运行。
步骤4:要 checkout 正在运行的容器的日志,请使用以下命令
步骤5:使用以下命令查找容器的ip。检查输出中的“ipaddress”,这将告诉您ip地址。
现在您应该可以使用端口3306上的tips ip地址连接到mysql。
根据我对你问题的理解,这就是你需要的(希望如此)
(这不是我自己的文档,我只喜欢记录所有的事情,尤其是那些我不能记在脑子里的程序,这样,如果发生同样的事情或者我将来需要同样的程序,我就不会再浪费时间去研究了,相反,我会打开我的笔记并运行命令。)
0dxa2lsx2#
正如您在
docker ps
,港口32783
(本地计算机)Map到端口3306
在码头集装箱里面。如果您使用的是mysql客户机(例如mysql workbench),那么您应该能够使用ip进行连接localhost
和港口32783
. 如果没有,你应该和我一起去docker exec
然后在容器中打开一个交互式mysql shell(正如mulg0r所评论的)。