Docker-compose:mysqld:无法创建/写入文件'/ var / lib / mysql / is_writable'(错误代码:13-权限被拒绝) [英] Docker-compose : mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)
问题描述
使用docker compose启动数据库服务时遇到问题:
I'm having an issue when starting the db service with docker compose:
version: '3'
services:
# Mysql DB
db:
image: percona:5.7
#build: ./docker/mysql
volumes:
- "./db/data:/var/lib/mysql"
- "./db/init:/docker-entrypoint-initdb.d"
- "./db/backups:/tmp/backups"
- "./shared/home:/home"
- "./shared/root:/home"
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: db_name
MYSQL_USER: user
MYSQL_PASSWORD: pass
ports:
- "3307:3306"
我尝试了所有没有运气的事情:
I have tried everything with no luck:
./ db / data:/ var / lib / mysql:rw
创建dockerfile并从构建而不是从镜像创建:
Creating a dockerfile and create from build instead of image:
FROM percona:5.7
RUN adduser mysql
RUN sudo chown mysql /var/lib/mysql
RUN sudo chgrp mysql /var/lib/mysql
我也尝试在数据库服务上添加用户:
Also I have tried to add a user on db service:
user: "1000:50"
但是其中任何一个都可以解决该问题..我想念的是什么?
But any of those could solve that.. What I'm missing?
MySQL 5.7安装错误`mysqld:无法创建/写入文件'/ var / lib / mysql / is_writable'`
推荐答案
我不得不将./db/data user:group更改为999:999,所以docker用户是谁进行更改。
I had to change ./db/data user:group to 999:999, so docker user is who is making the changes.
sudo chown 999:999 ./db/data
这篇关于Docker-compose:mysqld:无法创建/写入文件'/ var / lib / mysql / is_writable'(错误代码:13-权限被拒绝)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!