我有一个用例,需要在一个容器上运行mysql并将其链接到另一个容器。我也有我的数据库文件数据在我的主机位置,这是作为一个卷安装到数据库容器。。。条件是不以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
上面的命令将启动容器,但当我猛击正在运行的容器时,我无法看到使用密码的用户。只有mysql在运行
docker exec -it testdata_db bash
请告诉我哪里出了问题。我遵循docker官方回购链接下的文档。
1条答案
按热度按时间nx7onnlm1#
我通过创建一个init.sql来解决这个问题,该init.sql使用所需的sql命令来创建user表,它将这些表从我的主机加载到docker-entrypoint-initdb.d/下的容器中,并根据需要设置env变量。这使得mysql示例作为一个新示例加载,并加载所有需要的表和数据。最后的命令是: