12.2. systemd 없이 DHCP 플러그인 실행
podman run --network
명령을 사용하여 사용자 정의 네트워크에 연결합니다. 대부분의 컨테이너 이미지에는 DHCP 클라이언트가 없지만 dhcp
플러그인은 DHCP 서버와 상호 작용할 수 있는 프록시 DHCP 클라이언트 역할을 합니다.
참고
이 절차는 rootfull 컨테이너에만 적용됩니다. rootless 컨테이너는 dhcp
플러그인을 사용하지 않습니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다.
절차
dhcp
플러그인을 수동으로 실행합니다.# /usr/libexec/cni/dhcp daemon & [1] 4966
dhcp
플러그인이 실행 중인지 확인합니다.# ps -a | grep dhcp 4966 pts/1 00:00:00 dhcp
alpine
컨테이너를 실행합니다.# podman run -it --rm --network=example alpine ip addr show enp1s0 Resolved "alpine" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf) Trying to pull docker.io/library/alpine:latest... ... Storing signatures 2: eth0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether f6:dd:1b:a7:9b:92 brd ff:ff:ff:ff:ff:ff inet 192.168.1.22/24 brd 192.168.1.255 scope global eth0 ...
이 예제에서는 다음을 수행합니다.
-
--network=example
옵션은 연결할 example이라는 네트워크를 지정합니다. -
alpine
컨테이너 내부의ip addr는 enp1s0 명령을 표시합니다
. 이 명령은 네트워크 인터페이스enp1s0
의 IP 주소를 확인합니다. - 호스트 네트워크는 192.168.1.0/24
-
eth0
인터페이스는 alpine 컨테이너에 대해 192.168.1.122의 IP 주소를 리스합니다.
-
참고
이 구성은 수명이 많은 컨테이너 및 긴 리스가 있는 DHCP 서버가 많은 경우 사용 가능한 DHCP 주소를 소모할 수 있습니다.