无法从Docker容器连接到托管MySQL数据库

时间:2018-08-24 13:31:03

标签: mysql docker

我安装了最新的Docker CS,并从Docker Hub获得了LAMP container。它运行MySQL(MariaDB)服务器和Apache服务器。我需要它是MySQL服务器与位于主机上的数据库一起工作(或者,以替代方式,在单独的docker值上创建一个数据库,并使用它)。

说明要求以docker run -d -p [HOST WWW PORT NUMBER]:80 -p [HOST DB PORT NUMBER]:3306 -v [HOST WWW DOCUMENT ROOT]:/var/www/html -v [HOST DB DOCUMENT ROOT]:/var/lib/mysql fauria/lamp开头容器

我不确定[HOST DB DOCUMENT ROOT]是什么-它托管mysql DB的位置吗?还是在主机上容器中的DB服务器将数据写入其中的任何位置?

我以docker run --name mycontainer --rm -p 80:80 -e LOG_STDOUT=true -e LOG_STDERR=true -e LOG_LEVEL=debug -v /home/username/dev/appname/www:/var/www/html -v /home/username/dev/appname/wwwdb:/var/lib/mysql fauria/lamp的身份运行

这里的/home/username/dev/appname/wwwdb只是我创建的一个空目录。我还将/var/lib/mysql/的{​​{1}}绑定到了我的主机MariaDB安装中。结果相同。

然后,我连接到容器select @@datadir;并运行docker exec -i -t mycontainer bash。 我得到这个错误: 错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2“无此文件或目录”)连接到本地MySQL服务器

我确定我做的事情不正确,但不确定是什么。

0 个答案:

没有答案
相关问题