首页 > 解决方案 > 重新创建容器时的 Bitbucket 管道 docker 卷权限

问题描述

我已经使用 docker 容器部署了 django 应用程序。该应用程序的源代码位于 Bitbucket 存储库中。现在我想为master分支设置管道,以便在合并时自动部署。管道脚本的问题部分如下:

docker-compose up --build -d

上面的行结果显示错误:

Permission denied: '/path/to/docker/volume/pgdb'

我与 postgres 相关的 docker-compose 文件部分如下:

  postgres:
    container_name:  arw-postgres
    image:           postgres:11
    ports:
      - 5432:5432
    volumes:
      - ./pgdb:/var/lib/postgresql/data
    env_file: .env

上面指定的docker-compose命令以sudo特权正常运行。实际上,我可以使用 root 用户连接到远程主机并可以运行此命令。但我不想公开我的根用户的凭据。如何在没有sudo特权的情况下重新创建我的 docker 容器?

标签: djangodockerpipelinedocker-volumebitbucket-pipelines

解决方案


这里的问题是.dockerignore文件不存在。我只是添加.dockerignore了内容pgdbDockerfile. 该文件避免将受保护的pgdb文件夹复制到 docker 容器,因此不会发生权限错误。


推荐阅读