不同的错误来自docker项目中mysql-config的不同主机值



我正在为一个新项目做贡献,但很难获得有关设置/构建的信息。我可以在构建过程中完成以下步骤:

$ docker-machine create -d virtualbox dev;
$ eval $(docker-machine env dev)
$ docker-compose build
$ docker-compose up -d

下一个命令失败:

$ docker-compose run web /usr/local/bin/python manage.py migrate

出现此错误:

(2005, "Unknown MySQL server host 'mysql' (0)")

当我将mysql HOST从mysql更改为localhost时,我得到了一个新的错误:

(2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

我已经阅读了关于每个错误的内容,但所提出的解决方案与我的代码无关(除了将HOST设置为localhost的建议(。哪个主机值是正确的,应该如何处理相应的错误?

实际上,我不确定mysql是否正在运行,它应该在哪里运行,以及如何检查其状态。

我怀疑mysql在另一个容器中,项目容器在docker-compose.yml.中被称为"web">

当您将mysql更改为localhost时,它将尝试连接到web容器中的本地mysql(通过linux套接字(,但它当然不存在,因为它有自己的容器,我怀疑它在docker-compose.yml.中被称为mysql

要查看正在运行的容器,您可以使用sudo docker ps,如果mysql容器已停止/重新启动,您可以用docker logs <mysql container name/ID>进行调查。

如果是这种情况,请尝试在docker-compose.yml中查找挂载以进行进一步调查。

最新更新