如何使用启用了“ root_squash”的NFS卷在Docker中部署MariaDB / MySQL数据库?

时间:2019-05-07 18:47:33

标签: mysql docker docker-compose mariadb nfs

当在Docker容器中部署MariaDB或MySQL数据库时,使用NFS作为持久卷,该容器在初始化后便立即损坏,并显示以下错误消息:

“ chown:更改'/ var / lib / mysql /'的所有权:不允许操作”

重要的是要记住,不能从NFS卷管理中进行任何更改,因为出于安全原因,它仅由遵循在NFS卷上使用“ root_squash”策略的基础结构团队进行管理。在这种情况下,只能通过docker-compose进行部署。我可以使用NFS以外的其他卷成功部署,例如本地卷,甚至在不使用永久性卷的情况下。

到目前为止,我已经尝试了几种解决该问题的策略,包括:

1-编辑MariaDB或MySQL映像,以避免在容器启动时尝试更改目录所有权。没有成功。

2-将mysql用户放置在root用户ID(0)和root用户组ID(0)中。没有成功。

3-当遇到与我相同的麻烦时,遵循以下文章中针对NFS量的PostgreSQL数据库的提示。 网址:Can I change owner of directory that is mounted on volume in IBM containers?

WordPress-DB:

图片:本地组织存储库:MariaDB-10.4-Tuned

container_name:WordPress-DB

环境:

MYSQL_DATABASE: wordpress

MYSQL_ROOT_PASSWORD: root_password

stdin_open:是

音量:

- /var/lib/docker/volumes/db:/var/lib/mysql

tty:是

端口:

- "3307:3306"

标签:

io.rancher.container.pull_image: always

WordPress-App:

图片:local-organizational-repository:0

container_name:WordPress应用程序

环境:

WORDPRESS_DB_PORT: 3307

DB_HOST: WordPress-DB

DB_NAME: wordpress

DB_USER: root

DB_PASSWORD: root_password

stdin_open:是

音量:

- /var/lib/docker/volumes/app:/var/www/html

tty:是

链接:

- WordPress-DB

标签:

io.rancher.container.pull_image: always

端口:

- "8099:80"

我还有一个数据库docker容器,运行MySQL映像,可以在其他类型的卷上正常工作,而不是在NFS上工作。

0 个答案:

没有答案