ZimaOS 사용자는 Docker 컨테이너가 서버와 동일한 LAN에서 자체 주소를 갖기를 원했습니다. IceWhale은 기본 브리지가 이미 컨테이너에 내부 주소를 제공하지만, 일반적으로 LAN에서 보이는 주소를 사용하려면 macvlan이 필요하다고 설명했습니다.
커뮤니티에 게시된 긴 명령 예시는 원 게시자가 정상 작동한다고 확인한 적이 없습니다. 이후 답변에서는 복사된 스마트 따옴표와 단일 하이픈 옵션이 발견되었고, 다른 사용자는 설치된 앱을 여전히 연결하지 못했습니다. 따라서 이 페이지에서는 검증되지 않은 명령 블록을 ZimaOS용 레시피로 제시하지 않고, 아키텍처와 안전한 계획을 설명합니다.
브리지 IP와 LAN IP는 서로 다른 목표입니다
| 모드 | 컨테이너 식별 정보 | 일반적인 접근 방법 |
|---|---|---|
| 기본 브리지 | 비공개 Docker 주소 | 게시된 포트와 ZimaOS 호스트 주소 사용 |
| 호스트 | 호스트 네트워크 네임스페이스 공유 | 별도의 컨테이너 주소 없음 |
| Macvlan | 자체 Layer-2 식별 정보 및 LAN 주소 | 다른 LAN 장치가 직접 연결 가능 |
대부분의 애플리케이션에는 별도의 LAN IP가 필요하지 않습니다. ZimaOS 호스트에서 포트를 게시하는 방식이 더 간단하고 추가적인 Layer-2 요구 사항도 피할 수 있습니다.
Macvlan을 만들기 전에 계획을 세우세요
- LAN 트래픽에 실제로 사용되는 상위 인터페이스를 확인합니다.
- 서브넷과 게이트웨이를 기록합니다.
- 라우터의 DHCP 풀 외부에 주소를 예약하거나, 서로 겹치지 않는 관리 범위를 만듭니다.
- 스위치, Wi-Fi 브리지, 하이퍼바이저 또는 USB NIC가 여러 MAC 주소를 허용하는지 확인합니다.
- 앱 Compose 정의를 백업하고 로컬 콘솔에 액세스할 수 있는지 확인합니다.
Docker의 공식 macvlan 문서에서는 Linux 커널 제한으로 인해 macvlan 컨테이너가 기본적으로 호스트와 직접 통신할 수 없다고 경고합니다.
호스트와 컨테이너 간 격리를 예상하세요
LAN의 다른 장치는 컨테이너에 연결할 수 있지만 ZimaOS 자체는 연결하지 못할 수 있습니다. 이로 인해 리버스 프록시, 상태 확인, 스토리지 서비스 또는 호스트에서 컨테이너를 호출해야 하는 앱이 작동하지 않을 수 있습니다. Docker에서는 두 가지 고급 옵션을 문서화하고 있습니다. 컨테이너를 추가 브리지 네트워크에 연결하거나, 호스트에 이에 대응하는 macvlan 인터페이스를 만드는 방법입니다.
복사한 명령이 신뢰할 수 없었던 이유
커뮤니티 게시물에는 ASCII 따옴표와 이중 하이픈 옵션 대신 서체용 따옴표와 en 대시가 사용되었습니다. Windows에서 복사하면 이러한 문자가 그대로 유지되어 셸과 Docker의 구문 분석 문제가 발생합니다. 이후 한 참여자가 이를 수정했지만, 이미 설치된 ZimaOS 앱을 새 네트워크에서 시작하는 데에는 여전히 실패했습니다.
또한 명령에는 네트워크 정보가 하드코딩되어 있었고 상위 인터페이스가 이미 정해져 있다고 가정했습니다. 잘못된 서브넷에서 실행하면 주소 충돌이 발생하거나 액세스가 끊길 수 있습니다. 따라서 Docker의 최신 예시를 사용하고 각 값을 확인한 후에만 환경에 맞게 수정하세요.
Macvlan이 DHCP 주소를 자동으로 할당받나요?
Docker의 기본 macvlan 워크플로는 일반적으로 각 컨테이너가 요청하는 라우터 임대가 아니라 Docker의 IP 주소 관리를 사용합니다. 안전한 서브넷과 IP 범위를 정의한 다음, 해당 범위 내에서 주소를 직접 할당하거나 Docker가 할당하도록 하세요. 라우터가 해당 주소를 예약하지 않은 한 라우터의 DHCP 풀과 범위가 겹치지 않도록 해야 합니다.
원문 스레드에서 확인된 ZimaOS UI의 한계
원 게시자는 설치된 앱을 macvlan에 연결할 수 있는 정상 작동하는 GUI 설정을 찾지 못했으며, 다른 사용자는 이를 기능 요청으로 제안했습니다. Compose를 내보내고 수정한 후 다시 가져오면 별도로 관리되는 스택이 생성될 수 있습니다. 이 경우 업그레이드와 App Store 제어 기능이 원래 템플릿과 동일하게 작동하지 않을 수 있습니다.
ZimaOS 컨테이너 IP FAQ
브리지 컨테이너에도 이미 자체 IP가 있나요?
예. 하지만 일반적으로 이는 일급 LAN 주소가 아니라 내부 Docker 주소입니다.
ZimaOS가 macvlan 컨테이너에 직접 연결할 수 있나요?
기본적으로는 불가능합니다. Docker에서는 호스트 격리를 커널 제한으로 설명합니다.
원문 스레드의 명령을 복사해도 되나요?
아니요. 해당 명령에는 서체 문자 오류가 있었고, 정상적으로 작동하는 ZimaOS 앱 워크플로로 확인되지 않았습니다.
