登录 主页

使用 docker-compose 报错了:ERROR: for exchange_nginx 'ContainerConfig'

2025-10-24 09:26AM

我在使用 docker-compose 的时候报错了,具体内容如下:

root@localhost:/opt/app# docker-compose up exchange_nginx
Recreating exchange_nginx ...

ERROR: for exchange_nginx  'ContainerConfig'

ERROR: for exchange_nginx  'ContainerConfig'
Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 33, in <module>
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper
    result = fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up
    to_attach = up(False)
                ^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up
    return self.project.up(
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up
    results, errors = parallel.parallel_execute(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
    result = func(obj)
             ^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do
    return service.execute_convergence_plan(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan
    return self._execute_convergence_recreate(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate
    containers, errors = parallel_execute(
                         ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
    result = func(obj)
             ^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate
    return self.recreate_container(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container
    new_container = self.create_container(
                    ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container
    container_options = self._get_container_create_options(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options
    container_options, override_options = self._build_container_volume_options(
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options
    binds, affinity = merge_volume_bindings(
                      ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings
    old_volumes, old_mounts = get_container_data_volumes(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes
    container.image_config['ContainerConfig'].get('Volumes') or {}
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'ContainerConfig'

我查看了 docker-compose 的位置和内容

root@localhost:/opt/app# which docker-compose
/usr/bin/docker-compose
root@localhost:/opt/app# vim /usr/bin/docker-compose
root@localhost:/opt/app# mv /usr/bin/docker-compose /usr/bin/docker-compose-python-version-do-not-use
root@localhost:/opt/app# cd /usr/bin/

发现我的 docker-compose 是二进制文件(使用 sudo apt install docker-compose),使用的是python,就容易出错

可以在浏览器下载 docker-compose 文件,下载链接:https://github.com/docker/compose/releases

也可以复制docker-compose-linux-x86_64的下载链接:https://github.com/docker/compose/releases/download/v2.40.2/docker-compose-linux-x86_64

在服务器上面使用  wget https://github.com/docker/compose/releases/download/v2.40.2/docker-compose-linux-x86_64 

在 /usr/bin/ 文件夹下进行下载

root@localhost:/usr/bin# wget https://github.com/docker/compose/releases/download/v2.40.2/docker-compose-linux-x86_64

例如:

root@localhost:/usr/bin# wget https://github.com/docker/compose/releases/download/v2.40.2/docker-compose-linux-x86_64
--2025-10-23 08:07:00--  https://github.com/docker/compose/releases/download/v2.40.2/docker-compose-linux-x86_64
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://release-assets.githubusercontent.com/github-production-release-asset/15045751/bb07c2e0-1eab-4318-8e2e-c25a7bb85c33?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-10-23T09%3A07%3A08Z&rscd=attachment%3B+filename%3Ddocker-compose-linux-x86_64&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-10-23T08%3A06%3A57Z&ske=2025-10-23T09%3A07%3A08Z&sks=b&skv=2018-11-09&sig=slYOg%2BxSbkTLo1Ik8bh30pLhrk7tPKvOZdYFLg2EnmQ%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc2MTIwODYyMCwibmJmIjoxNzYxMjA2ODIwLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.Yy-qxNoLB0xHzJce4Iayosqf4PpjkL8ZXFZz_wtlKQs&response-content-disposition=attachment%3B%20filename%3Ddocker-compose-linux-x86_64&response-content-type=application%2Foctet-stream [following]
--2025-10-23 08:07:00--  https://release-assets.githubusercontent.com/github-production-release-asset/15045751/bb07c2e0-1eab-4318-8e2e-c25a7bb85c33?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-10-23T09%3A07%3A08Z&rscd=attachment%3B+filename%3Ddocker-compose-linux-x86_64&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-10-23T08%3A06%3A57Z&ske=2025-10-23T09%3A07%3A08Z&sks=b&skv=2018-11-09&sig=slYOg%2BxSbkTLo1Ik8bh30pLhrk7tPKvOZdYFLg2EnmQ%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc2MTIwODYyMCwibmJmIjoxNzYxMjA2ODIwLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.Yy-qxNoLB0xHzJce4Iayosqf4PpjkL8ZXFZz_wtlKQs&response-content-disposition=attachment%3B%20filename%3Ddocker-compose-linux-x86_64&response-content-type=application%2Foctet-stream
Resolving release-assets.githubusercontent.com (release-assets.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.108.133, ...
Connecting to release-assets.githubusercontent.com (release-assets.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 76584394 (73M) [application/octet-stream]
Saving to: ‘docker-compose-linux-x86_64’

docker-compose-linux-x86_64                    100%[====================================================================================================>]  73.04M  1.12MB/s    in 65s

2025-10-23 08:08:06 (1.12 MB/s) - ‘docker-compose-linux-x86_64’ saved [76584394/76584394]

重命名文件

root@localhost:/usr/bin# mv docker-compose-linux-x86_64 docker-compose 

需要把 docker-compose 变为可执行文件,不然运行会报错:-bash: /usr/bin/docker-compose: Permission denied

root@localhost:/opt/app# chmod +x /usr/bin/docker-compose 

例如:

root@localhost:/opt/app# docker-compose up exchange_nginx
-bash: /usr/bin/docker-compose: Permission denied
root@localhost:/opt/app# chmod +x /usr/bin/docker-compose 

再次运行 docker-compose 发现就可以了

root@localhost:/opt/app# docker-compose down exchange_nginx
[+] Running 2/2
 ✔ Container exchange_nginx  Removed                                                                                                                                                   0.1s
 ! Network exchange-network  Resource is still in use             

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论