docker inspect <CONTAINER_IDENTIFER>
root@ubuntu:~/prac# docker inspect cent
...
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.8",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:08",
"Networks": {
...
docker0 interface 확인
내 경우에는 여기가 문제였다.
docker container의 네트워크는 docker0의 gateway(여기서는 172.17.0.1)를 통해서 NAT를 거쳐 외부와 통신하게 되는데, 나는 docker0의 interface가 날아간 상태였다. 때문에 외부와 통신이 불가능했고, 이로 인해 Dockerfile에서 RUN으로 패키지를 설치할 수 없었던 것이다.
systemctl restart docker
ip add
root@ubuntu:~/prac# systemctl restart docker
root@ubuntu:~/prac# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default ql
link/ether 00:0c:29:1c:5c:df brd ff:ff:ff:ff:ff:ff
inet 211.183.3.100/24 brd 211.183.3.255 scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe1c:5cdf/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group defau
link/ether 02:42:9a:e8:7f:c5 brd ff:ff:ff:ff:ff:ff
**inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0**
valid_lft forever preferred_lft forever
inet6 fe80::42:9aff:fee8:7fc5/64 scope link
valid_lft forever preferred_lft forever
주의할 점은 docker를 재시작하면 모든 컨테이너가 stopped 상태가 된다는 것.
root@ubuntu:~/prac# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker restart <CONTAINER>로 실행시켜야 한다.