Docker ini agak rumit pada saya. Kalau kita jalankan netstat pada hos, memang tidak nampak apa-apa aktiviti rangkaian dalam container docker.

Setelah meng-duckduckgo, saya jumpa solusi ini:

  • Dapatkan ID container docker

Contoh:

docker ps 

CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                        NAMES
55632b82cf0b        stingar/cowrie:1.7   "/usr/bin/runsvdir -…"   3 minutes ago       Up 3 minutes        0.0.0.0:22->2222/tcp, 0.0.0.0:23->2223/tcp   dockercowri
  • docker inspect -f ‘{{.State.Pid}}’ container_id

Contoh:

sudo docker inspect -f '{{.State.Pid}}' 55632b82cf0b 
1544 
  • Guna utiliti nsenter

Contoh:

nsenter -t 1544 -n netstat -n 

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 172.19.0.2:38052        207.x.y.z:10000     ESTABLISHED
tcp        0      0 172.19.0.2:2222         5.x.y.z:62558       ESTABLISHED
  • Atau short-cut
sudo nsenter -t $(docker inspect -f '{{.State.Pid}}' container_name_or_id) -n netstat

Selamat mencuba!

adli@ofis

[1] https://stackoverflow.com/questions/40350456/docker-any-way-to-list-open-sockets-inside-a-running-docker-container