装入mysql容器的卷
我可以使用像这样的命令启动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
执行
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
您需要提供带有root密码的MYSQL_ROOT_PASSWORD
环境variables才能正常工作