问题 ERROR: for jobmanager ‘ContainerConfig‘ 原因及解决
问题:
当编写好 docker-compose.yml 文件后,使用命令 docker-compose up -d 去启动 container 时,报出如下错误,且无论如何返回修改 docker-compose.yml 文件,挂载时该错误依旧出现:
ERROR: for jobmanager 'ContainerConfig'
Traceback (most recent call last):File "docker-compose", line 3, in <module>File "compose/cli/main.py", line 81, in mainFile "compose/cli/main.py", line 203, in perform_commandFile "compose/metrics/decorator.py", line 18, in wrapperFile "compose/cli/main.py", line 1186, in upFile "compose/cli/main.py", line 1182, in upFile "compose/project.py", line 702, in upFile "compose/parallel.py", line 108, in parallel_executeFile "compose/parallel.py", line 206, in producerFile "compose/project.py", line 688, in doFile "compose/service.py", line 581, in execute_convergence_planFile "compose/service.py", line 503, in _execute_convergence_recreateFile "compose/parallel.py", line 108, in parallel_executeFile "compose/parallel.py", line 206, in producerFile "compose/service.py", line 496, in recreateFile "compose/service.py", line 615, in recreate_containerFile "compose/service.py", line 334, in create_containerFile "compose/service.py", line 922, in _get_container_create_optionsFile "compose/service.py", line 962, in _build_container_volume_optionsFile "compose/service.py", line 1549, in merge_volume_bindingsFile "compose/service.py", line 1579, in get_container_data_volumes
KeyError: 'ContainerConfig'
[1835499] Failed to execute script docker-compose
原因:
docker-compose v1, which was deprecated after June 2023.
docker compose v2 is a docker cli plugin, designed as a drop-in replacement.
使用 docker-compose version 和 docker compose version 可以看到,此时系统同时有两个版本的docker compose,而v1版本已被废除
docker-compose version:
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019docker compose version:
Docker Compose version v2.25.0
解决:
So instead of
docker-compose
(=v1) usedocker compose
(=v2)
使用 docker compose v2 版本的形式,docker compose up -d 即可。