无法从docker容器连接到主机mysql db

btxsgosb  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(247)

我安装了最新的docker cs,从docker hub得到了一个灯箱。它运行mysql(mariadb)服务器和apache服务器。我需要它的mysql服务器与位于主机上的db一起工作(或者,通常,在separte docker值上创建一个db并使用它,我猜)。
说明书上说启动容器 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 server将数据写入的任何位置?
我把它当作 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/ 这是我从 select @@datadir; 在我的主机上安装。同样的结果。
然后连接到容器: docker exec -i -t mycontainer bash 然后跑 mysql -u root . 我得到这个错误:error 2002(hy000):无法通过socket'/var/run/mysqld/mysqld.sock'连接到本地mysql服务器(2“没有这样的文件或目录”)
我肯定我做的不对,但不确定是什么。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题