使用本教程https://semaphoreci.com/community/tutorials/dockerizing-a-python-django-web-application,我将使用docker-machine将Django应用程序停靠在一个VirtualBox中。一切都进展顺利,直到我进入浏览器,我的应用程序说它与MySQL有问题。在
然后我找到了一个mysql https://github.com/mysql/mysql-docker实例的dockerizing文档,在我创建的同一个开发VirtualBox中创建镜像。我最初得到的错误是Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
我的Django数据库是这样的
^{pr2}$
然后我将主机改为127.0.0.1,甚至尝试将端口指定为3306,我得到了一个新的错误(2003, "Can't connect to MySQL server on '127.0.0.1' (111)")
我还进入MySQL workbench并将本地实例的连接改为127.0.0.1:3306,但这并没有起到任何作用。在
我运行的命令是
eval "$(docker-image env development)"--->;据说可以做这些事情:export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://123.456.78.910:1112"
export DOCKER_CERT_PATH="/Users/me/.docker/machine/machines/development"
export DOCKER_MACHINE_NAME="development"
然后,现在我在我的虚拟机中,我运行:
docker run -it -p 8000:8000 --->;将暴露的端口8000转发到本地计算机上的端口8000
docker run -it -p 3306:3306 mysql/mysql-sever--->;将暴露的端口3306转发到本地计算机上的端口3306