django - 重新创建容器时的 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 容器?
解决方案
这里的问题是.dockerignore
文件不存在。我只是添加.dockerignore
了内容pgdb
与Dockerfile
. 该文件避免将受保护的pgdb
文件夹复制到 docker 容器,因此不会发生权限错误。
推荐阅读
- linux - 共享库符号冲突和静态链接(在 Linux 上)
- python - 不明白 x != " " 的用法
- python - 使用 PyInstaller 在 MSYS2/MinGW 中编译 GTK 软件的问题
- javascript - 选择子单选按钮时选择容器,未选中时 div 内的链接除外
- c# - 从 2.1 迁移到 3.1 .Net Core,Microsoft.AspNetCore.App 的替代品是什么?
- java - Java While 循环额外条件
- node.js - 无法建立一个或多个指定浏览器连接 / Ubuntu / Firefox Headless
- python - 仅为图像的特定点计算相邻像素的平均像素强度并存储在 n 维数组中
- twitter-bootstrap - 从引导程序 4.1.3 升级到 4.5.0 后,如何修复此按钮布局?
- r - 如何根据某个字符串值重命名列中的某些观察值?