我已经用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容器?
答案 0 :(得分:0)
这里的问题是.dockerignore
文件不存在。我只是添加了.dockerignore
文件,其内容为pgdb
,与Dockerfile
位于同一级别。该文件避免将受保护的pgdb
文件夹复制到docker容器,因此不会发生权限错误。