我正在为一个新项目做贡献,但是很难获得有关安装/构建的信息。我可以在构建过程中完成以下步骤:
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
是否正在运行,应该在何处运行以及如何检查其状态。
答案 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中查找挂载以进行进一步调查。