Я дещо збентежений тим, що всередині контейнера Docker lsof -i
не дається жодного результату.
Приклад (усі команди / вихідні дані зсередини контейнера):
[1] root@ec016481cf5f:/# lsof -i
[1] root@ec016481cf5f:/# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
Також врахуйте, як не відображається ім'я PID або програми netstat
. fuser
також дає дещо заплутаний вихід і не може також точно визначити PID.
Чи може хтось пролити на це будь-яке світло?
- Як я можу замінити
lsof -i
(щоб побачити також назву процесу !) - Чому також вихід
netstat
калік?
Примітка: контейнер працює з "ExecDriver": "native-0.1"
, тобто власним шаром виконання Docker, а не LXC.
[1] root@ec016481cf5f:/# fuser -a4n tcp 22
Cannot stat file /proc/1/fd/0: Permission denied
Cannot stat file /proc/1/fd/1: Permission denied
Cannot stat file /proc/1/fd/2: Permission denied
Cannot stat file /proc/1/fd/3: Permission denied
Cannot stat file /proc/1/fd/255: Permission denied
Cannot stat file /proc/6377/fd/0: Permission denied
Cannot stat file /proc/6377/fd/1: Permission denied
Cannot stat file /proc/6377/fd/2: Permission denied
Cannot stat file /proc/6377/fd/3: Permission denied
Cannot stat file /proc/6377/fd/4: Permission denied
22/tcp:
(Я не одержимий Permission denied
, тому що ці цифри. Що мене бентежить, це порожній список PID після 22/tcp
.)
# lsof|awk '$1 ~ /^sshd/ && $3 ~ /root/ {print}'
sshd 6377 root cwd unknown /proc/6377/cwd (readlink: Permission denied)
sshd 6377 root rtd unknown /proc/6377/root (readlink: Permission denied)
sshd 6377 root txt unknown /proc/6377/exe (readlink: Permission denied)
sshd 6377 root 0 unknown /proc/6377/fd/0 (readlink: Permission denied)
sshd 6377 root 1 unknown /proc/6377/fd/1 (readlink: Permission denied)
sshd 6377 root 2 unknown /proc/6377/fd/2 (readlink: Permission denied)
sshd 6377 root 3 unknown /proc/6377/fd/3 (readlink: Permission denied)
sshd 6377 root 4 unknown /proc/6377/fd/4 (readlink: Permission denied)
sshd 6442 root cwd unknown /proc/6442/cwd (readlink: Permission denied)
sshd 6442 root rtd unknown /proc/6442/root (readlink: Permission denied)
sshd 6442 root txt unknown /proc/6442/exe (readlink: Permission denied)
sshd 6442 root 0 unknown /proc/6442/fd/0 (readlink: Permission denied)
sshd 6442 root 1 unknown /proc/6442/fd/1 (readlink: Permission denied)
sshd 6442 root 2 unknown /proc/6442/fd/2 (readlink: Permission denied)
sshd 6442 root 3 unknown /proc/6442/fd/3 (readlink: Permission denied)
sshd 6442 root 4 unknown /proc/6442/fd/4 (readlink: Permission denied)
sshd 6442 root 5 unknown /proc/6442/fd/5 (readlink: Permission denied)
Є ще якийсь вихід для підключеного користувача, який також правильно визначений, але це все. Мабуть, неможливо визначити, для якого типу ( lsof -i
обмеження в Інтернет-розетках) є певний "об'єкт".
sshd
пов'язаних) ліній, деякі з яких можуть бути TCP-сокетами, як TYPE
unknown
. Своєрідний. Додавання висновку до мого питання.
strace -s 2000 -o lsof.log lsof -i
це, ймовірно, дасть вам додаткову інформацію про те, що заблокується.
strace
вона обмежена в контейнері. Захоплюючі нові речі для навчання. Дякуємо за підстрибну ідею. Повинно вдарити по ліжку.
lsof
звіт? Той самий?