저는 몇 개의 도커 컨테이너를 실행 중이고 이를 재구성하기로 결정했습니다(큰 무리를 두는 대신 종속 서비스를 수집하는 폴더로 구성을 분할). 이사하기 전까지 모든 일이 잘 진행됐어요홈 어시스턴트구성.
"외부적으로" 표시되는 모든 컨테이너(개인 Docker 네트워크 외부)가 단일 네트워크를 공유하도록 강제하는 것 외에는 이전 구성에서 아무 것도 변경하지 않았습니다. 20개 이상의 다른 컨테이너와 함께 작동합니다.
hass:
devices:
- /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0:/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
image: homeassistant/home-assistant:2022.7
network_mode: host
restart: unless-stopped
volumes:
- /etc/docker/domotique/data/hass:/config
- /etc/localtime:/etc/localtime:ro
depends_on:
- mqtt
networks:
- srv
(...)
networks:
srv:
external: true
name: srv
이 컨테이너를 시작하는 동안 오류가 발생했습니다.
root@srv /e/d/domotique# docker-compose up hass
[+] Running 1/0
⠿ Container domotique-mqtt-1 Running 0.0s
Attaching to domotique-hass-1
Error response from daemon: failed to add interface veth6eb29e9 to sandbox: error setting interface "veth6eb29e9" IP to 172.18.0.33/16: cannot program address 172.18.0.33/16 in sandbox interface because it conflicts with existing route {Ifindex: 7 Dst: 172.18.0.0/16 Src: 172.18.0.1 Gw: <nil> Flags: [] Table: 254}
주석을 달면 사라집니다 network_mode: host
. 실행 중인 컨테이너에는 IP가 있습니다 172.18.0.33/16
. 엔터테인먼트를 강제하기 위해 기존 홈어시스턴트 컨테이너를 제거하는 것은 도움이 되지 않습니다.
이 경우 이 메시지는 무엇을 의미하나요?
답변1
문제는 network_mode: host
둘 다 사용하는데 네트워크를 ( srv
)로 사용하도록 설정했다는 것입니다.
해당 networks
섹션을 제거하면 문제가 해결되었습니다.