컨테이너는 때때로 네트워크에 속하지 않습니다.

컨테이너는 때때로 네트워크에 속하지 않습니다.

docker-compose를 통해 시작된 Docker 컨테이너가 있습니다. 구성 파일은 두 네트워크의 일부가 되어야 함을 지정합니다. 그러나 때때로(5회 실행 중 약 1회) 컨테이너는 네트워크 중 하나의 구성원일 뿐입니다(즉, docker network inspect <network_id>컨테이너가 표시되지 않음). 이것은 내 MRE입니다:

도커파일

FROM alpine:latest

ENTRYPOINT ["sleep", "infinity"]

docker-compose.yaml

version: "3.7"

services:
  foo:
    image: foo
    init: true
    networks:
      - network1
      - network2

networks:
  network1:
  network2:

docker network inspect foo_network2프로그램

[
    {
        "Name": "foo_network2",
        "Id": "2ef317904b46eddc3dcd8242f1ee41eff02756e016c701c2f2366bbbb166670e",
        "Created": "2024-03-12T04:15:24.57501242Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "192.168.144.0/20",
                    "Gateway": "192.168.144.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "network2",
            "com.docker.compose.project": "foo",
            "com.docker.compose.version": "2.24.6"
        }
    }
]

그리고 docker network inspect foo_network1보여줘

[
    {
        "Name": "foo_network1",
        "Id": "a505fd52cd34c9ecdad1aa27058cc7cb47243d82283a7c7949b211be422a10e8",
        "Created": "2024-03-12T04:15:24.535686504Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "192.168.128.0/20",
                    "Gateway": "192.168.128.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "823f84eff688b9bc8e207b208cfb23852a2bc777b121107ab9d0ee48248e0b1d": {
                "Name": "foo-foo-1",
                "EndpointID": "37606efb0ea637c686edac7ccebab033dfd36f0cce9599d162a540a81d687b2f",
                "MacAddress": "02:42:c0:a8:80:02",
                "IPv4Address": "192.168.128.2/20",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "network1",
            "com.docker.compose.project": "foo",
            "com.docker.compose.version": "2.24.6"
        }
    }
]

저는 Mac(엔진 25.0.3, Compose: 2.24.6)에서 Docker Desktop 4.28.0을 실행하고 있습니다. Ubuntu 23.10(엔진 25.0.2, docker-compose 1.29.2)에서는 이 동작을 재현할 수 없습니다.

답변1

이는 다음과 같은 이유일 가능성이 높습니다.알려진 문제docker-compose는 2.24.7에서 수정되었습니다.

다음을 통해 docker-compose를 업데이트할 수 있습니다.다운로드바이너리를 업데이트하고 /Applications/Docker.app/Contents/Resources/bin/docker-compose.

관련 정보