如何挂载数据目录?

How to mount data directory?

如果我尝试像这样挂载数据目录,我将无法启动 percona mysql dockerized 实例:

docker run --name percona57f -p 3384:3306 -v /my/custom3384:/etc/mysql/conf.d -v /storage/data3384:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=india3384 -e INIT_TOKUDB=1 -d percona/percona-server:5.7 

错误如下图:

[ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
[ERROR] Aborting

如果我不包含这样的数据目录,该命令将起作用...

docker run --name percona57g -p 3384:3306 -v /my/custom3384:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=india3384 -e INIT_TOKUDB=1 -d percona/percona-server:5.7 

但是在主机上挂载数据目录对我来说非常重要。启用此 -v /storage/data3384:/var/lib/mysql

的任何方式

运行 这个命令之前 docker 运行:

chown 1001 /my/custom3384

这是 mysql 用户的 UID,如 percona 图像的 Dockerfile 所示:

https://github.com/percona/percona-docker/blob/master/percona-server/Dockerfile

RUN useradd -u 1001 -r -g 0 -s /sbin/nologin \
            -c "Default Application User" mysql