내 홈 네트워크용 Docker 이미지를 설정하려고 합니다 dhcpd
.
나는 복제했다이 저장소, 내 컴퓨터에서는 잘 작동했습니다.dhcpd.conf
이를 실행하려면 다음을 사용하여 이 명령을 실행해야 합니다 docker run
.
docker run -it \
--rm --init \
--net host \
-v "$(pwd)/data":/data \
networkboot/dhcpd eth0
효과는 매우 좋습니다.
하지만 DNS 도커와 함께 번들로 묶고 싶기 때문에 파일로 변환하려고 합니다 docker-compose.yml
.
version: '2.2'
services:
#
# Imagine the DNS stuff here
#
dhcp:
build:
context: ./dhcp
network: host
args:
- eth0
container_name: dhcpd
volumes:
- ./dhcp/data:/data
이것은 잘 진행되지 않습니다:
호스트 네트워크에 DHCP 서비스를 제공하려면 "docker run" 옵션 "--net=host"를 추가해야 합니다.
dhcpd |eth0(172.19.0.2)에 대한 서브넷 선언이 없습니다.
dhcpd | ** eth0에 대한 요청을 무시합니다. 이것이 원하는 것이 아니라면 eth0 인터페이스가 연결된 dhcpd.conf 파일의 네트워크 세그먼트에 | dhcpd
에 대한 서브넷 선언을 작성하십시오 . **
제가 뭔가 잘못하고 있는 것 같은데, network: host part
Docker를 처음 접해서 무엇이 잘못되었는지 모르겠습니다.
$ docker-compose version
docker-compose version 1.21.0, build unknown
docker-py version: 3.4.1
CPython version: 3.7.3
OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019
답변1
해결책은 분명히 network_mode: host
파일에 추가하는 것입니다.
이제 다음과 같습니다.
version: '2.2'
services:
dhcp:
build:
context: ./dhcp
network: host
args:
- eth0
container_name: dhcpd
volumes:
- ./dhcp/data:/data
network_mode: host