权限错误: [错误 13] 权限被拒绝: 运行 docker 撰写时'/home/ceyedev/.aws'



我正在下面的docker compose文件上尝试sudo docker-compose up,但它引发了一些错误。我不知道原因。所有内容都是从图像中导入的。我的docker compose文件或系统有什么问题吗?当我在主文件夹中运行ls时,我看不到上面提到的文件/文件夹
这是docker组成文件:

---
version: '3.7'
services:
nginx:
build:
context: ./
dockerfile: Dockerfile.nginx
image: defectdojo/defectdojo-nginx:${NGINX_VERSION:-latest}
restart: always
depends_on:
- uwsgi
ports:
- target: ${DD_PORT:-8080}
published: ${DD_PORT:-9092}
protocol: tcp
mode: host
uwsgi:
build:
context: ./
dockerfile: Dockerfile.django
image: defectdojo/defectdojo-django:${DJANGO_VERSION:-latest}
restart: always
depends_on:
- mysql
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-uwsgi.sh']
environment:
DD_DEBUG: 'False'
DD_ALLOWED_HOSTS: ${DD_ALLOWED_HOSTS:-*}
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_CELERY_BROKER_USER: ${DD_CELERY_BROKER_USER:-guest}
DD_CELERY_BROKER_PASSWORD: ${DD_CELERY_BROKER_USER:-guest}
DD_SECRET_KEY: ${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
celerybeat:
image: defectdojo/defectdojo-django:latest
restart: always
depends_on:
- mysql
- rabbitmq
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-celery-beat.sh']
environment:
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_CELERY_BROKER_USER: ${DD_CELERY_BROKER_USER:-guest}
DD_CELERY_BROKER_PASSWORD: ${DD_CELERY_BROKER_USER:-guest}
DD_SECRET_KEY: ${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
celeryworker:
image: defectdojo/defectdojo-django:latest
restart: always
depends_on:
- mysql
- rabbitmq
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-celery-worker.sh']
environment:
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_CELERY_BROKER_USER: ${DD_CELERY_BROKER_USER:-guest}
DD_CELERY_BROKER_PASSWORD: ${DD_CELERY_BROKER_USER:-guest}
DD_SECRET_KEY: ${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
initializer:
image: defectdojo/defectdojo-django:latest
restart: always
depends_on:
- mysql
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '--', '/entrypoint-initializer.sh']
environment:
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
DD_ADMIN_USER: ${DD_ADMIN_USER:-admin}
DD_ADMIN_MAIL: ${DD_ADMIN_USER:-admin@defectdojo.local}
DD_ADMIN_FIRST_NAME: ${DD_ADMIN_FIRST_NAME:-Admin}
DD_ADMIN_LAST_NAME: ${DD_ADMIN_LAST_NAME:-User}
DD_INITIALIZE: ${DD_INITIALIZE:-true}
DD_SECRET_KEY: ${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
mysql:
image: mysql:5.7.27@sha256:540488d8f0e04c1077d17934d1c1511fe417e2221dff508ce4621f5efe6131db
restart: always
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
MYSQL_USER: ${DD_DATABASE_USER:-defectdojo}
MYSQL_PASSWORD: ${DD_DATABASE_PASSWORD:-defectdojo}
MYSQL_DATABASE: ${DD_DATABASE_NAME:-defectdojo}
command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
volumes:
- defectdojo_data:/var/lib/mysql
ports:
- 33062:3306
rabbitmq:
image: rabbitmq:3.7.17@sha256:12202c13c8e1d7f5688e733e04f3713cf25c4478dde62be691e0a1d2c9346d1c
restart: always
volumes:
defectdojo_data: {} 

这是我面临的错误。

Building nginx
Traceback (most recent call last):
File "/snap/docker/471/bin/docker-compose", line 11, in <module>
load_entry_point('docker-compose==1.25.5', 'console_scripts', 'docker-compose')()
File "/snap/docker/471/lib/python3.5/site-packages/compose/cli/main.py", line 72, in main
command()
File "/snap/docker/471/lib/python3.5/site-packages/compose/cli/main.py", line 128, in perform_command
handler(command, command_options)
File "/snap/docker/471/lib/python3.5/site-packages/compose/cli/main.py", line 1077, in up
to_attach = up(False)
File "/snap/docker/471/lib/python3.5/site-packages/compose/cli/main.py", line 1073, in up
cli=native_builder,
File "/snap/docker/471/lib/python3.5/site-packages/compose/project.py", line 548, in up
svc.ensure_image_exists(do_build=do_build, silent=silent, cli=cli)
File "/snap/docker/471/lib/python3.5/site-packages/compose/service.py", line 367, in ensure_image_exists
self.build(cli=cli)
File "/snap/docker/471/lib/python3.5/site-packages/compose/service.py", line 1106, in build
platform=self.platform,
File "/snap/docker/471/lib/python3.5/site-packages/docker/api/build.py", line 160, in build
path, exclude=exclude, dockerfile=dockerfile, gzip=gzip
File "/snap/docker/471/lib/python3.5/site-packages/docker/utils/build.py", line 30, in tar
files=sorted(exclude_paths(root, exclude, dockerfile=dockerfile[0])),
File "/snap/docker/471/lib/python3.5/site-packages/docker/utils/build.py", line 49, in exclude_paths
return set(pm.walk(root))
File "/snap/docker/471/lib/python3.5/site-packages/docker/utils/build.py", line 214, in rec_walk
for sub in rec_walk(cur):
File "/snap/docker/471/lib/python3.5/site-packages/docker/utils/build.py", line 184, in rec_walk
for f in os.listdir(current_dir):
PermissionError: [Errno 13] Permission denied: '/home/ceyedev/.aws'

更新1**
我运行了以下命令,但没有响应。终端已准备好接受新命令:
sudo chown -R $user:$user /home/ceyedev/.awssudo chown -R $user:$ceyedev /home/ceyedev/.aws#其中ceyedev是我的用户名在这些命令之后,我尝试了sudo docker-compose up,但仍然出现了相同的错误。以下是文件夹的权限详细信息

ceyedev@ub18servertiny:~$ ls -l /home/ceyedev/.aws
total 8
-rw------- 1 ceyedev ceyedev  43 Sep 15 05:25 config
-rw------- 1 ceyedev ceyedev 116 Sep 15 05:25 credentials

创建一个包含data/.dockerignore文件。它将成功重建而不会出现任何问题。

.dockerignore可以放在构建上下文目录(我们在docker build命令末尾指定的目录(中

这就像git.gitignore

试试这个:

我认为这是由于/home/ceyedev/.aws/credentials处于root权限之下。您可以使用以下命令更改该用户的权限:

sudo chown -R $user:$user /home/ceyedev/.aws

注意: 如果要将权限更改为其他用户,请确保替换$user

问题是隐藏文件的权限没有更改。我更改了上下文目录,效果很好。我不知道为什么它不能处理隐藏文件,但它在新文件夹中工作。

最新更新