Docker-compose: mysqld: Невозможно создать / записать в файл '/ var / lib / mysql / is_writable' (код ошибки: 13 - разрешение отклонено) - PullRequest
0 голосов
/ 04 февраля 2019

У меня проблема при запуске службы БД с помощью 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"

Я попробовал все без удачи:

"./db/data:/var/lib/mysql:rw"

Создание файла dockerfile и создание из сборки вместо образа:

FROM percona:5.7

RUN adduser mysql
RUN sudo chown mysql /var/lib/mysql
RUN sudo chgrp mysql /var/lib/mysql

Также я попытался добавить пользователя в службу db:

user: "1000:50"

Но любой из них может решить эту проблему ..Что мне не хватает?

Ошибка установки MySQL 5.7 `mysqld: Невозможно создать / записать в файл '/ var / lib / mysql / is_writable'`

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Мне пришлось изменить ./db/data user: group на 999: 999, поэтому пользователь Docker - тот, кто вносит изменения.

sudo chown 999:999 ./db/data
0 голосов
/ 04 февраля 2019

Убедитесь, что у пользователя, который запускает Docker, есть доступ к ./db/data

# Not in the dockerfile
sudo chown $(whoami) ./db/data
sudo chgrp $(whoami) ./db/data

Docker сообщает, что у вас нет разрешений, это также может означать, что вам нужно убедиться, что выобщий том ./db/data должен иметь правильные разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...