docker 挂载非空目录无效?

2020-11-13 09:45:50 +08:00
 ohohohh

最近运行 docker mysql 挂载目录是 /usr/local/mysql 第一次目录为空可以正常挂载,删除了容器重新 run 后挂载失效,挂载到默认的路径下,但是我将挂载指定到 /users 路径是可以的,挂载到 /usr 无效,有大佬知道什么情况吗?目录加了 777 权限

2603 次点击
所在节点    Docker
1 条回复
qq296015668
2020-12-06 14:35:02 +08:00
你的容器里面应该对目录是否存在以及权限是否正确要有所判断
例:
```sh
if [ ! -d "/var/lib/mysql/$DB_NAME" ]; then
mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
mysqld --daemonize --user=mysql
sleep 5s
mysql -uroot -e "create database $DB_NAME default charset 'utf8' collate 'utf8_bin';grant all on $DB_NAME.* to '$DB_USER'@'%' identified by '$DB_PASSWORD';flush privileges;";
tail -f /var/log/mysqld.log
else
mysqld --daemonize --user=mysql
tail -f /var/log/mysqld.log
fi
```
你也可以参考 MySQL 官方的启动脚本 [docker-entrypoint.sh]( https://github.com/mysql/mysql-docker/blob/mysql-server/5.7/docker-entrypoint.sh)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/724680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX