Как распознать команду Docker и команду хоста - PullRequest
0 голосов
/ 04 февраля 2020

Я запускаю эту команду для проверки хост-процесса:

[root@fat001 ~]# ps aux|grep envelope
root     16744  0.7  3.5 4069908 570560 ?      Sl   Jan19 175:21 /opt/dabai/tools/jdk1.8.0_211/bin/java -Xmx256M -Xms128M -jar -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5010 /data/jenkins/ws-red-envelope-service/ws-red-envelope-service-0.0.1-SNAPSHOT.jar
root     17933  9.7  2.3 5779896 382364 ?      Sl   19:09   1:39 java -jar /root/soa-red-envelope-service-1.0.0-SNAPSHOT.jar
root     22526  0.0  0.0 112684  1004 pts/11   S+   19:26   0:00 grep --color=auto envelope
root     32040  2.7  4.3 4310300 702868 ?      Sl   Jan15 796:55 /opt/dabai/tools/jdk1.8.0_211/bin/java -Xmx256M -Xms128M -jar -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5007 /data/jenkins/soa-red-envelope-service/soa-red-envelope-service-1.0.0-SNAPSHOT.jar

, но эта команда (java -jar /root/soa-red-envelope-service-1.0.0-SNAPSHOT.jar) выполняется в Docker из Kubernetes (v1.15.2), как определить * Команда 1008 * или команда хост-машины? Почему хост может найти команду запуска приложения Docker? Это мой docker start. sh (работает в Docker контейнере, а не в хосте):

nohup java -jar /root/soa-revolver-service-1.0.0-SNAPSHOT.jar 2>&1

1 Ответ

1 голос
/ 04 февраля 2020

Если вы видите свои процессы в выводе ps хоста, я предполагаю, что вы находитесь на Linux, и, следовательно, у вас достаточно ps.

, так что вы можете сделать что:

ps -o user,pid,pidns,%cpu,%mem,vsz,rss,tty,stat,start,time,args ax

Когда вы делаете ps aux, часть u устанавливает столбцы, которые ps будет показывать эквивалент -o user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,args.

Но если вы передадите -o явно вместо этого вы можете указать такие вещи, как pidns, которое является пространством имен PID, которое будет некоторым числом, относящимся к контейнеру, тогда как для хост-процессов будет просто указано -.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...