kem*_*ica 1 mysql macos phpmyadmin docker
我正在尝试使用PhpMyAdmin运行一个容器,该容器连接到我在 Mac 操作系统上安装的MySQL 社区服务器。
\n\n如下所示,我可以通过终端进行连接。
\n\n使用以下命令:
\nmysql --host=localhost --port=3306 --user=root --password="o_oGLZDI<1-t"
我无法从 docker 使用 PhpMyAdmin 正确连接到 MySQL。我已经尝试过以下命令行:
\ndocker run --name myadmin -d -e PMA_HOST=127.0.0.1 -e PMA_PORT=3306 -p 8080:80 phpmyadmin/phpmyadmin\n\n\ndocker run --name myadmin -d -e PMA_HOST=localhost -e PMA_PORT=3306 -p 8080:80 phpmyadmin/phpmyadmin\nRun Code Online (Sandbox Code Playgroud)\n当我尝试登录时,它们会生成这些错误:
\n\n\n#2002 - 连接被拒绝 \xe2\x80\x94 服务器没有响应(或者本地服务器的套接字配置不正确)。
\n
\n\n#2002 - 没有这样的文件或目录 \xe2\x80\x94 服务器没有响应(或者本地服务器的套接字配置不正确)。
\n
使用正确的配置运行 docker 以连接到我的 MySQL 服务器 Mac 操作系统所需的正确命令行是什么?
\n您的命令:
docker run --name myadmin -d -e PMA_HOST=127.0.0.1 -e PMA_PORT=3306 -p 8080:80 phpmyadmin/phpmyadmin
Run Code Online (Sandbox Code Playgroud)
这将指向phpmyadmin 容器localhost内部localhost,而不是您机器的本地主机(mysql 正在运行的地方)。您可以在主机网络上运行容器,这将禁用容器网络。这意味着您将能够使用 localhost 访问 mysql 容器:
docker run --name myadmin --network=host -d -e PMA_HOST=127.0.0.1 -e PMA_PORT=3306 phpmyadmin/phpmyadmin
Run Code Online (Sandbox Code Playgroud)
您可以在端口 80(而不是 8080)上访问 phpmyadmin,因为指定 时不会使用容器网络--network=host。(可能您需要调整防火墙以允许 docker0)
另一种选择(更好的选择),特别是对于 MacOS(自 Docker 版本 17.06 起),是使用docker.for.mac.localhostas PMA_HOST。这应该解析为您的 mac 内部地址(但我现在无法测试它)。
docker run --name myadmin -d -e PMA_HOST=docker.for.mac.localhost -e PMA_PORT=3306 -p 8080:80 phpmyadmin/phpmyadmin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |