【发布时间】:2018-01-05 09:23:16
【问题描述】:
我有一个用例,我需要在一个容器上运行 mysql 并将其链接到另一个容器。我的主机位置也有我的 db 文件数据,它作为卷安装到数据库容器上......条件是不以 root 身份运行容器,而是以具有所有权限的不同用户身份运行容器。 db 在已安装的卷中。
我运行了以下命令:
docker run -d -v ~/testdata:/var/lib/mysql -e MYSQL_DATABASE=Testdata_DB -e MYSQL_USER=testdata -e MYSQL_PASSWORD=mypasswordhere -p 3306:3306 --name=testdata_db mysql
上述命令将启动容器,但是当我 bash 进入正在运行的容器时,我无法看到带有密码的用户。只有mysql在运行
docker exec -it testdata_db bash
请让我知道我哪里出错了。我按照 docker 官方 repo 链接下的文档进行操作。
【问题讨论】:
-
请澄清您没有看到用户的意思?你的意思是用户没有被创建?
-
你想以非root用户身份运行容器,还是想在MYSQL_USER中提到的mysql中创建一个用户?
-
mysql用户不是在
/etc/passwd中创建的 -
我想创建一个容器,用户为 MYSQL_USER,密码为 MYSQL_PASSWORD,数据库为 MYSQL_DATABASE,存在于已安装的卷中......如果我运行上述 docker,则不会创建用户命令...但是mysql-server容器启动成功