我的工作是mysql和node.js,我运行mysql停靠容器
docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest而docker ps的结果显示mysql容器正在运行,docker日志显示
MySQL init进程完成。准备启动.
如何在工作台或应用程序中连接此容器

发布于 2019-02-23 09:42:00
试试这个:
docker run -p 3306:3306 --name docker-mysql -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest这将将本地机器上的端口3306绑定到码头映像。您应该能够用localhost连接到数据库&端口3306,具有用户名root和密码abc123。
我刚刚测试了它,它就像一种魅力。

如果您正在与错误作斗争:
未能连接到本地主机上的33016“详细信息=身份验证插件'caching_sha2_password‘无法加载:caching_sha2_password 2):图像找不到
更新你的MySQL-工作台.
如果这不起作用,您将需要向根用户添加一个native password。以下是如何:
发布于 2019-02-23 09:17:30
您需要公开端口
使用-p或-P
-p绑定到自定义端口,-P将随机为您分配一个端口。
:latest不需要添加,停靠将帮助您添加。
最后的命令应该如下所示:
docker run -dit -P --name docker-mysql -e MYSQL_ROOT_PASSWORD=abc123 mysql:latest然后使用xx查看公开的端口:
docker port docker-mysql检查机器的哪个端口映射到容器的3306端口,我的结果是:
33060/tcp -> 0.0.0.0:32818
3306/tcp -> 0.0.0.0:32819现在,您可以通过软件或代码连接到此端口。
发布于 2019-02-23 08:43:32
开发最好的方法是将容器连接到“主机”网络。
docker run --name docker-mysql --network host -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest当您移动到暂存/prod环境时,请考虑使用一些编排解决方案。
https://stackoverflow.com/questions/54839438
复制相似问题