从Mysqlworkbench连接到MySQL容器

v9tzhpje  于 2023-01-20  发布在  Mysql
关注(0)|答案(2)|浏览(154)

我从一个映像构建了一个MySQL容器,找到了它的IP地址,但是无法从命令行或mysqlworkbench连接。

    • 停靠文件**
FROM mysql

ENV MYSQL_DATABASE=test
ENV MYSQL_ROOT_PASSWORD=password

COPY ./schema.sql /docker-entrypoint-initdb.d/
    • 命令**
docker build -t mysql-image .
&& docker run
-p 6603:3306
--name mysql-container
mysql-image

我可以看到容器是从docker container ls运行的。我在这个answer的帮助下使用这个命令找到了它的IP地址。

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-container

它给了我这个IP地址-〉www.example.com172.17.0.2

    • 错误**

    • 编辑**

链接的重复标签不是解决方案,问题出在下面误导我的命令上。

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-container
qq24tv8q

qq24tv8q1#

您需要使用**MYSQL_ROOT_HOST=%**设置允许从任何IP登录
完整的Docker命令行如下所示:

>docker run --name mysql-server -e MYSQL_ROOT_HOST=% -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -d mysql/mysql-server

--name表示它是容器名称
-d表示docker将在解除连接模式下运行。最后是mysql docker映像
当Docker状态为**Up 3 minutes(healthy)**时,您可以通过mysql Workbench轻松连接到数据库

希望能帮到你!

wlzqhblo

wlzqhblo2#

您需要使用localhost(127.0.0.1),而不是hostname处的容器IP(在您的示例中为172.17.0.2

相关问题