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

时间:2019-12-08 12:30:56

标签: django docker pipeline docker-volume bitbucket-pipelines

我已经用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用户连接到远程主机,并可以运行此命令。但是我不想公开我的root用户的凭据。如何在没有sudo特权的情况下重新创建docker容器?

1 个答案:

答案 0 :(得分:0)

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