从主机连接到mysql容器

bweufnob  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(547)

我已经在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并运行一些查询,但我不知道如何连接到它。任何帮助都将不胜感激。

cwxwcias

cwxwcias1#

是否通过docker连接mysql如果是;请遵循我正在使用的步骤。
步骤1:从docker hub中提取mysql映像。下面的命令将提取最新的mysql映像。

cli> docker pull mysql

步骤2:从该图像运行容器-name'提供容器的名称-e'指定需要设置的运行时变量。使用“mysql\u root\u password”设置mysql root用户的密码-告诉 Docker 在后台运行容器。

cli> docker run --name=testsql -e MYSQL_ROOT_PASSWORD=rukshani -d mysql

这将输出一个容器id;这意味着容器在后台正常运行。
步骤3:然后通过发出“docker ps”命令检查容器的状态

cli> docker ps

现在您应该可以看到mysql正在3306端口上运行。
步骤4:要 checkout 正在运行的容器的日志,请使用以下命令

cli > docker logs testsql

步骤5:使用以下命令查找容器的ip。检查输出中的“ipaddress”,这将告诉您ip地址。

cli> docker inspect testsql

现在您应该可以使用端口3306上的tips ip地址连接到mysql。
根据我对你问题的理解,这就是你需要的(希望如此)
(这不是我自己的文档,我只喜欢记录所有的事情,尤其是那些我不能记在脑子里的程序,这样,如果发生同样的事情或者我将来需要同样的程序,我就不会再浪费时间去研究了,相反,我会打开我的笔记并运行命令。)

0dxa2lsx

0dxa2lsx2#

正如您在 docker ps ,港口 32783 (本地计算机)Map到端口 3306 在码头集装箱里面。如果您使用的是mysql客户机(例如mysql workbench),那么您应该能够使用ip进行连接 localhost 和港口 32783 . 如果没有,你应该和我一起去 docker exec 然后在容器中打开一个交互式mysql shell(正如mulg0r所评论的)。

相关问题