我已经运行了一段时间的开发设置而没有问题。我正在使用 Docker for Windows 和 Windows Subsystem for Linux 2。它运行良好。今天尝试启动 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 Code 中进行大部分编辑时,在 Windows 中运行我认为它可能与 Windows / Linux 边界有关,尽管我不完全确定如何。而且 - 再次 - 这个设置已经运行了几个月没有问题,所以我对我可以改变的东西感到茫然。
有任何想法吗?
我设法解决了它。
我注意到,docker-compose up
每次运行命令时,运行都会在图像名称前添加一个哈希值。这导致了一个可笑的长图像名称。
运行docker-compose images
显示此图像存在。
只需运行即可docker-compose rm
删除映像,从而可以创建和运行正确的映像。
我已将此作为 docker-compose 中的错误提交。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句