我安装了最新的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“没有这样的文件或目录”)
我肯定我做的不对,但不确定是什么。
暂无答案!
目前还没有任何答案,快来回答吧!