docker-撰写在特定目录中不起作用
docker-compose doesn't work in specific directory
我 运行 开发设置已经有一段时间了,没有任何问题。我正在为 Windows 使用 Docker,为 Linux 2 使用 Windows 子系统。它运行良好。今天尝试启动 docker-compose 时,失败并出现以下错误:
frederik@desktop:~/projects/caselab$ docker-compose -f docker-test.yml up
Recreating f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_caselab_db_1 ...
Recreating f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_caselab_db_1 ... error
ERROR: for f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_caselab_db_1 Cannot create container for service db: mkdir 07ff2055c618dedc240ca3275de3f8c41d091136dc659cf463ee9fc62eed1853: permission denied
ERROR: for db Cannot create container for service db: mkdir 07ff2055c618dedc240ca3275de3f8c41d091136dc659cf463ee9fc62eed1853: permission denied
ERROR: Encountered errors while bringing up the project.
frederik@desktop:~/projects/caselab$
我将 docker-test.yml
的内容精简为:
version: '3'
services:
db:
image: postgres
logging:
driver: none
我试过 运行 docker run postgres
没有问题。然后我尝试将我文件夹的所有内容复制到另一个文件夹。现在,运行 docker-compose -f docker-test.yml
可以正常工作。
我认为它与权限有某种关系,尽管我看不出原始文件夹和新文件夹之间的权限有什么不同。
因为我在 Visual Studio 代码中进行了大部分编辑,Windows 中的 运行 我认为它可能与 Windows / Linux 边界,虽然我不完全确定如何。而且 - 再一次 - 这个设置已经 运行 几个月没有问题所以我不知道我可以改变什么。
有什么想法吗?
我设法解决了。
我注意到每次命令 运行 时 运行ning docker-compose up
都会在图像名称前加上一个散列。这导致图像名称长得可笑。
运行 docker-compose images
显示此图像存在。
只需 运行宁 docker-compose rm
删除图像,就可以创建正确的图像,运行。
我已将其作为 docker-compose 中的错误提交。
我 运行 开发设置已经有一段时间了,没有任何问题。我正在为 Windows 使用 Docker,为 Linux 2 使用 Windows 子系统。它运行良好。今天尝试启动 docker-compose 时,失败并出现以下错误:
frederik@desktop:~/projects/caselab$ docker-compose -f docker-test.yml up
Recreating f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_caselab_db_1 ...
Recreating f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_caselab_db_1 ... error
ERROR: for f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_f26a365c8a83_caselab_db_1 Cannot create container for service db: mkdir 07ff2055c618dedc240ca3275de3f8c41d091136dc659cf463ee9fc62eed1853: permission denied
ERROR: for db Cannot create container for service db: mkdir 07ff2055c618dedc240ca3275de3f8c41d091136dc659cf463ee9fc62eed1853: permission denied
ERROR: Encountered errors while bringing up the project.
frederik@desktop:~/projects/caselab$
我将 docker-test.yml
的内容精简为:
version: '3'
services:
db:
image: postgres
logging:
driver: none
我试过 运行 docker run postgres
没有问题。然后我尝试将我文件夹的所有内容复制到另一个文件夹。现在,运行 docker-compose -f docker-test.yml
可以正常工作。
我认为它与权限有某种关系,尽管我看不出原始文件夹和新文件夹之间的权限有什么不同。
因为我在 Visual Studio 代码中进行了大部分编辑,Windows 中的 运行 我认为它可能与 Windows / Linux 边界,虽然我不完全确定如何。而且 - 再一次 - 这个设置已经 运行 几个月没有问题所以我不知道我可以改变什么。
有什么想法吗?
我设法解决了。
我注意到每次命令 运行 时 运行ning docker-compose up
都会在图像名称前加上一个散列。这导致图像名称长得可笑。
运行 docker-compose images
显示此图像存在。
只需 运行宁 docker-compose rm
删除图像,就可以创建正确的图像,运行。
我已将其作为 docker-compose 中的错误提交。