装载mysql容器

时间:2017-09-01 05:07:08

标签: mysql docker

我可以使用像这样的命令启动一个docker容器......

[root@localhost ~]# sudo docker run -p 3396:3306  -d mysql:5.7

但是当我装载一个卷时,它不起作用。 我得到了权限被拒绝错误,如下所示。

[root@localhost ~]# sudo docker run -p 3397:3306 -v /tmp/mysql/:/var/lib/mysql -d mysql:5.7
Digest: sha256:96edf37370df96d2a4ee1715cc5c7820a0ec6286551a927981ed50f0273d9b43
8d651cc66508605249d2c2672a18446fcc56e310cb40f46c9ea62a43e1a1837f

[root@localhost ~]# docker logs 8d651cc66508605249d2c2672a18446fcc56e310cb40f46c9ea62a43e1a1837f
chown: cannot read directory '/var/lib/mysql/': Permission denied

如何装载卷?我只面临这个服务器的这个问题。在其他服务器上,上述命令可以正常工作。

我尝试使用-u选项,但这次出现了不同的错误......

[root@localhost ~]# sudo docker run -p 3397:3306  -u 1000:50   -v /tmp/mysql/datadir3396d:/var/lib/mysql -d mysql:5.7
b0caf9c4aeaeff5aade67e21f297c02c7eb39740ad1d7327d3291d96f360f805
[root@localhost ~]# docker logs b0caf9c4aeaeff5aade67e21f297c02c7eb39740ad1d7327d3291d96f360f805
Initializing database
mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists)
2017-09-01T05:03:02.344875Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-09-01T05:03:02.346703Z 0 [ERROR] Aborting

1 个答案:

答案 0 :(得分:0)

执行

rm -rf /tmp/mysql

然后在

下面运行
sudo docker run -e MYSQL_ROOT_PASSWORD=root -p 3397:3306 -v /tmp/mysql/:/var/lib/mysql -d mysql:5.7

您需要为MYSQL_ROOT_PASSWORD环境变量提供root密码才能使其正常工作