【发布时间】:2020-01-09 06:35:24
【问题描述】:
尝试在 ECS 中运行 docker 映像 (openproject) 时,我们收到错误“DETAIL: Permissions should be u=rwx (0700) for /var/openproject/pgdata folder”
#ls -l /var/openporject
drwxr-xr-x 2 root root 4096 Jan 8 15:56 assets
drwxr-xr-x 2 postgres postgres 4096 Dec 19 08:40 pgdata
所以我们尝试通过dockerfile更新权限
FROM openproject/community:latest
#USER postgres
USER root
RUN chmod 700 /var/openproject/pgdata
RUN chmod 700 /var/openproject/assets
即使在构建映像之后,文件夹的权限也没有得到更新。
构建方法docker-compose:
version: '3'
services:
openproject:
container_name: openproj_server
build:
context: .
ports:
- 80:80
environment:
- DATABASE_URL=postgres://aws@postgresurl:5432/openproject
- SECRET_KEY_BASE=junksecret
建议会有帮助
更新 1:
试验一:
通过 entrypoint.sh 方法设置权限失败,出现错误:DETAIL: File "/var/openproject/pgdata/PG_VERSION" is missing.
FROM openproject/community:latest
COPY ./entrypoint.sh /app/docker/
RUN chmod +x /app/docker/entrypoint.sh
**entrypoint.sh**
chmod 700 /var/openproject/pgdata
echo "Giving 700(rwx) Permission to pgdata folder"
chown postgres:postgres /var/openproject/pgdata
echo "Setting up ownership to postgres user / group(*just to double ensure)"
Cloudwatch 日志:
2020-01-08 20:34:59.734 UTC [54] FATAL: "/var/openproject/pgdata" is not a valid data directory
2020-01-08 20:34:59.734 UTC [54] DETAIL: File "/var/openproject/pgdata/PG_VERSION" is missing.
2020-01-08 20:34:59,735 INFO exited: postgres (exit status 1; not expected)
试验 2:
在 Fargate 任务中为容器绑定非持久的空存储使用了最新的 openproject
**Fargate Task Def snip**
"mountPoints": [
{
"readOnly": null,
"containerPath": "/var/openproject",
"sourceVolume": "openproject"
}
Cloudwatch 日志:
2020-01-08 21:50:51.686 UTC [226] FATAL: data directory "/var/openproject/pgdata" has group or world access
2020-01-08 21:50:51.686 UTC [226] DETAIL: Permissions should be u=rwx (0700).
2020-01-08 21:50:51,776 INFO exited: postgres (exit status 1; not expected)
试验 3:
通过入口点使用 pgdata 权限更新图像并再次引发致命错误:文件“/var/openproject/pgdata/PG_VERSION”丢失。
Cloudwatch 日志:
LOG: skipping missing configuration file "/var/openproject/pgdata/postgresql.auto.conf"
2020-01-08 22:12:52.404 UTC [228] FATAL: "/var/openproject/pgdata" is not a valid data directory
2020-01-08 22:12:52.404 UTC [228] DETAIL: File "/var/openproject/pgdata/PG_VERSION" is missing.
2020-01-08 22:12:52,494 INFO exited: postgres (exit status 1; not expected)
无法确定问题。
【问题讨论】:
标签: docker docker-compose dockerfile