来自docker项目中mysql配置的不同主机值的不同错误

时间:2018-07-30 04:43:45

标签: python mysql django docker docker-compose

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

git init

下一条命令失败:

$ 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

当我将mysql主机从(2005, "Unknown MySQL server host 'mysql' (0)") 更改为mysql时,出现新错误:

localhost

我已经阅读了每个错误,但是建议的解决方案与我的代码无关(建议将(2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") 设置为HOST)。哪个主机值正确,并且应该如何处理各个错误?

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

1 个答案:

答案 0 :(得分:1)

我怀疑mysql在另一个容器中,而项目容器在docker-compose.yml中被称为“ web”。

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

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

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