【发布时间】:2017-01-31 16:54:01
【问题描述】:
我正在关注here 的 docker Web 应用程序设置教程。如docker-compose.yml 文件中所述,MySQL 容器链接到应用程序,可通过index.php 和phpMyAdmin 访问。目前没问题。
当我使用docker exec -it container-id bash 为我的应用程序打开一个交互式shell 并尝试访问MySQL 服务但我不能。我在这里错过了什么?
Edit1:当我输入MySQL,我得到bash: mysql: command not found。
Edit2:docker ps的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1643f0ba5637 dockertutorial_php "docker-php-entryp..." 9 seconds ago Up 6 seconds 9000/tcp dockertutorial_php_1
610f2c8bf4c4 phpmyadmin/phpmyadmin "/run.sh phpmyadmin" 9 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp dockertutorial_phpmyadmin_1
29c552da473b mysql:latest "docker-entrypoint..." 10 seconds ago Up 8 seconds 3306/tcp dockertutorial_mysql_1
Edit3:也许我应该从这个开始。对于所有造成/可能造成的混乱,我深表歉意(特别是对@Jay Blanchard 和@mkasberg)。我想在创建 MySQL 数据库的 nginx 容器中运行一个 bash 脚本。如果我在 nginx 容器中安装了 MySQL,它可以工作,但如果它是一个单独的容器,则不能。用目前的方法可以实现吗?如果不是,我该如何纠正?
【问题讨论】:
-
您有任何错误吗?容器是否将 mysql 服务器作为其主机文件中的条目?你能从链接的容器ping mysql 容器吗? mysql服务器是否设置为允许其他机器访问?
-
mysql -u *name* -p? -
您是如何尝试访问它的?遇到了什么问题?
-
你能添加
docker ps -a的输出吗?您可能还想尝试容器的名称,而不是 ID
标签: php mysql bash docker docker-compose