重新创建容器时的 Bitbucket 管道 docker 卷权限

Bitbucket pipeline docker volume permissions at recreating containers

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

docker-compose up --build -d

以上行结果显示错误:

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

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

  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 容器?

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