Fedora 中 Docker 中的卷权限被拒绝

Volumes in Docker in Fedora permission denied

我正在尝试在 Fedora 30 上使用我的 Laravel 项目设置 Docker。我想设置 mariadb 容器。这是来自我的 docker-compose.yml 文件

mysql-db:
    image: mariadb:10.4.6-bionic
    container_name: mysql-db
    volumes:
      - ./run/var:/var/lib/mysql:Z
    environment:
      - MYSQL_DATABASE=${DB_DATABASE}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
    ports:
      - 3306:3306
    networks:
      backend:
        aliases:
          - db

networks:
  backend:
    name: backend-network

但是当我 运行 docker-compose up 我得到这个错误。

mysql-db       | find: '/var/lib/mysql/': Permission denied
mysql-db       | chown: changing ownership of '/var/lib/mysql/': Permission denied
mysql-db exited with code 1

我认为这是 SELinux 的问题,因为我的 php-apache 容器存在权限被拒绝的问题。我通过在 volumes 行的末尾添加 Z 来解决它们。我这里也试过了,好像不行。

看来我需要在环境中为 MYSQL_ROOT_PASSWORD 设置值。 现在它碰巧起作用了:)