我安装了最新的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服务器
我确定我做的事情不正确,但不确定是什么。