Docker는 기본적으로 컨테이너의 네트워크 네임스페이스를 호스트의 runtime data에 추가하지 않는다 (/run의 tmpfs로 마운트 되는 /var/run을 의미함)
실행된 컨테이너의 pid로 심볼릭 링크를 만들어주면 컨테이너의 네트워크 네임스페이스를 확인 할 수 있다.
# 호스트 네트워크
root@docker1:~# ip -br -c a
lo UNKNOWN 127.0.0.1/8 ::1/128
enp0s3 UP 10.0.2.15/24 fe80::31:14ff:fe45:3203/64
enp0s8 UP 192.168.50.10/24 fe80::a00:27ff:fe7c:22c3/64
docker0 UP 172.17.0.1/16 fe80::42:23ff:fef8:ad75/64
vethca6cbca@if7 UP fe80::e07c:f6ff:fe2c:6d25/64
root@docker1:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71118483fd2e ubuntu "bash" 9 minutes ago Up 9 minutes sharp_panini
root@docker1:~# ip netns list # 컨테이너가 실행 중인데 네트워크 네임스페이스가 조회되지 않는다.
root@docker1:~# pid="$(docker inspect -f '{{.State.Pid}}' "711184" )"
root@docker1:~# echo $pid
8719
root@docker1:~# ls -l /var/run/netns
total 0
root@docker1:~# ln -s /proc/$pid/ns/net /var/run/netns/ubuntu
root@docker1:~# ip netns list
ubuntu (id: 0)
root@docker1:~# ip netns exec ubuntu ip -br -c a
lo UNKNOWN 127.0.0.1/8
eth0@if8 UP 172.17.0.2/16
root@docker1:~#
참고
https://platform9.com/blog/container-namespaces-deep-dive-container-networking/
'Quick Fix' 카테고리의 다른 글
wsl: root 패스워드 재설정 (0) | 2023.11.05 |
---|---|
Hyper-v 환경에서 netsted Virualization 설정하기 (0) | 2022.03.18 |
curl 결과가 redirection 되는 경우 (0) | 2022.02.18 |
AWS - ALB 에서 504 Gateway Time-out 이 발생한다 (0) | 2022.02.07 |
ubuntu 컨테이너 이미지에 ip 명령이 없다 (0) | 2022.01.16 |