首页 > 解决方案 > 为什么 docker-compose 使用 root 所有者创建文件,如何修改 docker-compose.yml 文件以停止它?

问题描述

我正在构建一个 Django 应用程序以使用 Docker 运行。

在 docker-compose.yml 文件中,我使用卷来保存更改。

services:
  web:
    build: .
    command: python /code/manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - 8000:8000 

当我在 Django 项目中创建一个新应用程序时,我使用...

docker-compose exec web python manage.py startapp app_name 

正如预期的那样,Docker-compose 将应用程序(app_name)写入我的本地文件,但具有 root 所有者。这会导致问题,因为如果我想在应用程序中创建一个新文件,我没有权限。

如果我退出 docker-compose 并以用户身份创建应用程序,则没有问题。

如何更改 .yml 文件来解决此问题?

标签: djangodockerdocker-compose

解决方案


推荐阅读