ohohohh
V2EX  ›  Docker

docker 挂载非空目录无效?

  •  
  •   ohohohh · Nov 13, 2020 · 3286 views
    This topic created in 2021 days ago, the information mentioned may be changed or developed.

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

    1 replies    2020-12-06 14:35:02 +08:00
    qq296015668
        1
    qq296015668  
       Dec 6, 2020
    你的容器里面应该对目录是否存在以及权限是否正确要有所判断
    例:
    ```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)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3264 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    ♥ Do have faith in what you're doing.