首页 > 解决方案 > 由 systemd-coredump docker 编辑的卷

问题描述

我正在尝试使 Symfony 项目在 docker 容器中运行。所以,有我的 docker-compose.yml :

version:  '3.7'
services:
    mariadb:
        image: ${MARIADB_VERSION}
        restart: on-failure
        environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_DATABASE: ${MYSQL_DATABASE}
            MYSQL_USER: ${MYSQL_USER}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD}
        ports:
            - ${PORTS_MARIADB}
        volumes:
            - './db/:/var/lib/mysql'
    php:
        build:
            context: .
            dockerfile: docker/php/Dockerfile
        volumes:
            - './app/:/usr/src/app'
        restart: on-failure
        user: 1000:1000
    nginx:
        image: ${NGINX_VERSION}
        restart: on-failure
        volumes:
            - './app/public/:/usr/src/app' 
            - './docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro'
        ports:
            - ${PORTS_NGINX}
        depends_on:
            - php

我像这样启动我的容器(使用非 root 用户):

docker-compose build
docker-compose up -d

所以,在这一点上,一切都很好,但是,如果我想重新构建我的 docker 容器:

docker-compose down
docker-compose build

卷 ./db (of mariadb) 的权限设置为 systemd-coredump:findl users (findl 是我的) 所以,当我尝试构建容器时出现此错误:

在此处输入图像描述

为什么将卷 /db 的权限设置为另一个用户...?

问候

标签: dockerpermissionsvolume

解决方案


由于这个 Github 问题回复,我能够解决我的问题并继续前进。基本上,取卷的临时部分并将其添加到.dockerignore. 评论者对它为什么起作用的解释比我在这里所能提出的要好得多,但是如果这让你(或遇到这个问题的任何其他人)走得更远,那就这样吧。


推荐阅读