docker ps
ããã®åºåã¯ã80æåå¹
ã®ç«¯æ«ã§ã¯éåžžã«èªã¿ã«ããã§ãã
/bin/ps
ã¯ãçã端æ«ã§åºåãã©ããããã®ã«éåžžã«åªããŠããŸãïŒããšãã°ãéèŠãªæ
å ±ãæåã«çœ®ããæåŸã«ã³ãã³ããå®è¡ãããããåãæšãŠãŸãïŒã ãã£ãšäžæãã§ãããããã
ããããã®æãšããããã®+1ã ç§ã¯80x24ã®ç«¯æ«ã䜿çšããŠããŸãïŒ
ç§ã®ååïŒãããŠããã¯ããªãã®æ°ã®ç§ã«ãšã£ãŠãã€ããŒãªåºæ¿ã§ãã
æéã
ç§ãããããã°ãã°ç§ãåŸããšèšããªããã°ãªããŸããã
解決çã®ã¢ã€ãã¢ã¯ãããŸããïŒ çã端æ«ã«å°ããããŒãžã§ã³ããããšããã§ããã
ãããšãIDã¯æ¬åœã«ããã«ããå¿ èŠã¯ãããŸããã
ããã¯ã©ãïŒ
NAME IMAGE STATUS PORTS COMMAND
prickly_perlman ubuntu:14.04 Up 15s 8000->8000/tcp sleep 30000
説æïŒ
/bin/ps
ããã«ã端æ«ã®å¹
ã«åãæšãŠãããšãã§ããŸã@bfirsh ïŒthumbsupïŒãããã®ã¡ã¢ä»ãã
--no-trunc
ãã©ãããããcontainer-idã衚瀺ãããªããªã£ãã®ã§ããããã åæ¢ããã³ã³ãããããŒãžããããã«ãã®æ©èœã«äŸåããå€ãã®äŸãååšããŸã--columns=a,f,g
--sort=a,e
-a
ïŒïŒãã±ãããã«ãžã®é 管ã®äœãåé¡ã«ãªã£ãŠããŸããïŒ
docker ps | less -S
@ benjamin-thomasãŸãã¯docker ps
ãTTYãæ€åºããããã©ã«ãã§less -S
ãã€ãããŸããïŒ
çŽ æµãªããªãã¯@ benjamin-thomasãç§ã¯ééããªãå°æ¥ããã䜿çšããŸãã 1ã€ã®èæ
®äºé
ã¯ãç§ãæ°ã«ããæ
å ±ãæãéèŠãªã®ã¯ã³ã³ãããŒåãé€å€ããããšã§ããäžæ¹ãç§ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãéåžžãããšãã°CREATED
ãSTATUS
ã«ã€ããŠã¯ããŸãæ°ã«ããŸããã
IMOã®ãŠãŒã¹ã±ãŒã¹ã¯ãŠãŒã¶ãŒã«ãã£ãŠç°ãªãå ŽåããããŸããç§ã«ãšã£ãŠã STATUS
ã¯ãã³ã³ãããŒããŸã æ£åžžã«å®è¡ãããŠãããããŸãã¯ããã£ãšããããã©ããããã°ãã確èªããããã«éèŠã§ãã
ãããpsåºåã®å€§èŠæš¡ãªåå®è£ ã«ãªãã®ãããããšãããã©ã«ãã§å°ãã¯ãªãŒã³ã«ãªããããã«åºã¥ããŠæ§ç¯ãã衚瀺ããåãæå®ãããªãã·ã§ã³ãè¿œå ããŠé åºã䞊ã¹æ¿ããããšã§ãããæ§æããããããã®ããããããããŸããããšãã£ã«ã¿ãªã³ã°ã
@nathanleclaire ã less
ã«å
¥ã£ããç¢å°ããŒã䜿çšããã ãã§ãã³ã³ãã³ãå
šäœã«ã¢ã¯ã»ã¹ã§ããŸãã ãããšãç§ã¯ããªãã誀解ããŸãããïŒ
@grahamcãªããå人çã«ã¯ããããã®ããšãèªåçã«è¡ããªãããŒã«ã奜ã¿ãŸãã å¿ èŠã«å¿ããŠããã®IMOã®ã·ã§ã«ãšã€ãªã¢ã¹ããã€ã§ãå®çŸ©ã§ããŸãã
@thaJeztahã¯ãã·ã¹ãã psã³ãã³ã/bin/ps -o pid,ruser=RealUser -o comm=Command
ããã«ãã¹ã€ããã§ååãæå®ããã®ãçã«ããªã£ãŠããŸãã
@ benjamin-thomasãããç§ãæ°ã¥ããŠããŸããã§ããã è¯ãïŒ ç§ã¯ãã®ãœãªã¥ãŒã·ã§ã³ããšãŠã奜ãã§ãã
@ benjamin-thomas /bin/ps
ã¯ãããèªåçã«è¡ããŸãã ç¡å¹ã«ããå Žåã¯ã cat
ãªã©ãä»ããŠãã€ãã§ããŸãã
docker ps
åºåã®å¹
ã«é¢é£ããŠïŒç¹å®ã®ã³ã³ãããŒãžã®ãªã³ã¯ã®ãã¹ãŠã®å¯èœãªãã§ãŒã³ããã®ã³ã³ãããŒã®æ°ããååãšããŠæ±ãå¿
èŠãæ¬åœã«ãããŸããïŒ ããšãã°ãAãBãCãDãEãšããååã®ã³ã³ããã5ã€ãããAãBã«ãªã³ã¯ããBãCã«ãªã³ã¯ããŠããå ŽåãEã«ã¯EãD / EãC /ãšãã5ã€ã®ç°ãªãååãä»ããããŸãã D / EãB / C / D / Eãããã³A / B / C / D / Eã
次ã«ãBãããšãã°Dã«ããªã³ã¯ããŠããå ŽåãEã¯ããã«å€ãã®ååïŒB / D / Eããã³A / B / D / EïŒãååŸããŸãã ç§ãåãçµãã§ããã·ã¹ãã ã1åå®è¡ãããšã17åã®ã³ã³ãããŒãéå§ãããŸãããããã®ã³ã³ãããŒã¯ã31åã®äŸåé¢ä¿ãããããã_38åã®åå_ããããŸãã ã¿ãŒããã«ãŠã£ã³ããŠãã©ãã ãåºãããŠãã docker ps
ã®åºåã¯ãã±ãããã«ãªãã§ã¯èªã¿åããŸããã ã³ã³ããã®æ°ã§ååã®æ°ãäºæ¬¡åŒããã_æªã_ããšã¯æ¬åœã«æå³ããããŸããïŒ ãã®è¡åŠçãªã¬ãã«ã®åæãç¡å¹ã«ããæ¹æ³ãããã°ãå°ãªããšãããã¯çŽ æŽãããããšã§ãã
@mraccident ïŒ+1ïŒ docker ps
ã¯ããã®ã³ã³ããã®ãã¹ãŠã®ååã§ã¯ãªãããã©ã€ããªåã®ã¿ã衚瀺ããå¿
èŠããããŸã
Salutããããç§ãæ©ãŸããŠããŸããããããŠç§ã¯ã¡ããã©dockerã« '--short'ãªãã·ã§ã³ãè¿œå ããŸããã å®å
šãªããŒãåãä¿æããŸãã
https://github.com/ChristianKniep/docker/tree/7477-short_ps
$ docker run --name fd1 -d -p 80 -p 22 -p 53 fedora sleep 600
af6599f9b1178b237f6c2524f14cada45a46b234168e5270b99b16d1ce0be295
$ docker run --name fd2 --link fd1:fd1 -d -p 80 -p 22 -p 53 fedora sleep 600
ec2b2afc72dae7e62b197dc5adbcdeb548435ac495b8c935c728eb7aff658004
$ docker run --name fd3 --link fd2:fd2 --link fd1:fd1 -d -p 80 -p 22 -p 53 fedora sleep 600
ac57921063cc6afbe1cf715872dc33df45147ef1f464859c0912261b88e6bb4b
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac57921063cc fedora:latest sleep 600 3 seconds ago Up 2 seconds 0.0.0.0:49159->22/tcp, 0.0.0.0:49160->53/tcp, 0.0.0.0:49161->80/tcp fd3
ec2b2afc72da fedora:latest sleep 600 11 seconds ago Up 10 seconds 0.0.0.0:49156->22/tcp, 0.0.0.0:49157->53/tcp, 0.0.0.0:49158->80/tcp fd2,fd3/fd2
af6599f9b117 fedora:latest sleep 600 31 seconds ago Up 30 seconds 0.0.0.0:49153->22/tcp, 0.0.0.0:49154->53/tcp, 0.0.0.0:49155->80/tcp fd1,fd2/fd1,fd3/fd1,fd3/fd2/fd1
$ ./docker-1.1.2-dev ps -S
CONTAINER ID IMAGE PORTS NAMES
ac57921063cc fedora:latest 0.0.0.0:49159->22/tcp, 0.0.0.0:49160->53/tcp, 0.0.0.0:49161->80/tcp fd3
ec2b2afc72da fedora:latest 0.0.0.0:49156->22/tcp, 0.0.0.0:49157->53/tcp, 0.0.0.0:49158->80/tcp fd2,fd3/fd2
af6599f9b117 fedora:latest 0.0.0.0:49153->22/tcp, 0.0.0.0:49154->53/tcp, 0.0.0.0:49155->80/tcp fd1,fd2/fd1,fd3/fd1,fd3/fd2/fd1
$ ./docker-1.1.2-dev ps -h
Usage: docker ps [OPTIONS]
List containers
-a, --all=false Show all containers. Only running containers are shown by default.
--before="" Show only container created before Id or Name, include non-running ones.
-f, --filter=[] Provide filter values. Valid filters:
exited=<int> - containers with exit code of <int>
-l, --latest=false Show only the latest created container, include non-running ones.
-n=-1 Show n last created containers, include non-running ones.
--no-trunc=false Don't truncate output
-q, --quiet=false Only display numeric IDs
-S, --short=false Skip command created and status
-s, --size=false Display sizes
--since="" Show only containers created since Id or Name, include non-running ones.
$
ç§ã¯åå¿è
ãªã®ã§ãç§ã®ã³ãŒãã¯...æé©åã§ãããšæããŸã...
ãããã1幎éã®Pythonã®äººãšããŠãã³ãŒããå€æŽããã®ãããã«ç°¡åã§ãããã¯é©ãã¹ãããšã§ãã ããã¯ããã§ããïŒ
ç·šéïŒãã¶ãã端æ«ã®ãµã€ãºãååŸããåã蹎ã£ãŠè¡ãçãããããšãã§ããŸã...
EDIT2ïŒå°ã誀解ãæããããããŸããããååãçãããŠã«ãŠã³ãïŒCHILDRENïŒãè¿œå ããŸãããããã¯ãfd3-> fd2-> fd1ãã«ãŠã³ãããããã§ãã
$ ~/bin/docker-1.1.2-dev ps -S
CONTAINER ID IMAGE PORTS NAME #CHILDREN
9b382826657c fedora:latest 0.0.0.0:49168->22/tcp, 0.0.0.0:49169->53/tcp, 0.0.0.0:49170->80/tcp fd3 0
93f5a7b13d8b fedora:latest 0.0.0.0:49165->22/tcp, 0.0.0.0:49166->53/tcp, 0.0.0.0:49167->80/tcp fd2 1
4c6f3564612c fedora:latest 0.0.0.0:49162->80/tcp, 0.0.0.0:49163->22/tcp, 0.0.0.0:49164->53/tcp fd1 3
EDIT3ïŒä»ç§ã¯æ£ããååãæœåºããŸã
$ ./docker-1.1.2-dev ps -S
CONTAINER ID IMAGE PORTS NAME #LINKS
71d9d03bba50 fedora:latest 0.0.0.0:49177->22/tcp, 0.0.0.0:49178->53/tcp, 0.0.0.0:49179->80/tcp fd3 0
cf67008f418f fedora:latest 0.0.0.0:49174->22/tcp, 0.0.0.0:49175->53/tcp, 0.0.0.0:49176->80/tcp fd2 1
5549c65007b5 fedora:latest 0.0.0.0:49171->22/tcp, 0.0.0.0:49172->53/tcp, 0.0.0.0:49173->80/tcp fd1 3
ããŒãã®å®çŸ©ãšæ代ã®åé·æ§ã¯ã docker ps
åºåã®å¹
ã®å€§ããªéšåãå ããŠãããšæããŸãã æéãççž®ããããŒãå®çŸ©ãè¡ã§æãè¿ãããã«ãããšãïŒåãéžæ/é衚瀺ã«ã§ããããšã«å ããŠïŒå€ãã®ã¹ããŒã¹ãç¯çŽã§ãããšæããŸãã
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a2e6a22ae1f me/abc-data:latest "/bin/sh -c bash" 6 sec Exited (0) 6 sec app-without-ports
749ed051fb73 me/webserver:latest "/opt/server/run.sh" 4 days Up 4 days 0.0.0.0:8080->8080/tcp, my-webserver
192.168.1.1:9990->9990/tcp
2eb3c43af24f me/app:latest "/opt/container-star 8 days Up 8 days 0.0.0.0:1234->1234/tcp, some-other-app
0.0.0.0:4567->4567/tcp,
0.0.0.0:50000->50000/tcp,
0.0.0.0:50000->50000/udp
ããšãã°ãç°å¢å€æ°DOCKER_PS_FORMAT
ãcolumnameïŒwidth ïŒmodifierã columnameïŒwidth ïŒmodifierã..ã§èšå®ããŠããã³ãã¬ãŒããæäŸã§ããããã«ããã®ã¯ã©ãã§ããããã
ããã§ã modifier
ã®ãããªè¿œå ã®èšå®ãå¯èœã«ãããããããªãno-trunc
ã full
ïŒã³ã³ããIDã®äžäŸïŒãŸãã¯short
ã®ããã«CREATED
~1h
ã¯ã About an hour ago
ç瞮圢ã§ããå¯èœæ§ããããŸãã
docker ps
åºåãããé©åã«è¡šç€ºããããã«ããã®bash / zshé¢æ°ã~/.bashrc
ã«èšè¿°ããŸãããåãé衚瀺ã«ãããã䞊ã¹æ¿ãããã§ããŸãã
dps() {
docker ps $@ | awk '
NR==1{
FIRSTLINEWIDTH=length($0)
IDPOS=index($0,"CONTAINER ID");
IMAGEPOS=index($0,"IMAGE");
COMMANDPOS=index($0,"COMMAND");
CREATEDPOS=index($0,"CREATED");
STATUSPOS=index($0,"STATUS");
PORTSPOS=index($0,"PORTS");
NAMESPOS=index($0,"NAMES");
UPDATECOL();
}
function UPDATECOL () {
ID=substr($0,IDPOS,IMAGEPOS-IDPOS-1);
IMAGE=substr($0,IMAGEPOS,COMMANDPOS-IMAGEPOS-1);
COMMAND=substr($0,COMMANDPOS,CREATEDPOS-COMMANDPOS-1);
CREATED=substr($0,CREATEDPOS,STATUSPOS-CREATEDPOS-1);
STATUS=substr($0,STATUSPOS,PORTSPOS-STATUSPOS-1);
PORTS=substr($0,PORTSPOS,NAMESPOS-PORTSPOS-1);
NAMES=substr($0, NAMESPOS);
}
function PRINT () {
print ID NAMES IMAGE STATUS CREATED COMMAND PORTS;
}
NR==2{
NAMES=sprintf("%s%*s",NAMES,length($0)-FIRSTLINEWIDTH,"");
PRINT();
}
NR>1{
UPDATECOL();
PRINT();
}' | less -FSX;
}
dpsa() { dps -a $@; }
åé¿çã®ããã¯ã å¿ èŠã«å¿ããŠãä¿æãã$ cols [x]ãå€æŽããŸãã
docker ps | perl -ne '<strong i="6">@cols</strong> = split /\s{2,}/, $_; printf "%30s %20s %20s\n", $cols[1], $cols[3], $cols[4]'
次ã®ãããªãã®ã䜿çšããæ¹ãç°¡åã§ã¯ãªãã§ããããã
$ docker ps --columns=name,id,status,image
ãããŠã誰ããdocker ps
ãšã€ãªã¢ã¹ããããšãã§ããŸãã
ããããšãã@ caiguanhaoã è³¢ãæ«å®ãœãªã¥ãŒã·ã§ã³ã éã®æ®»ã®ã¿ãã¯ã«ãã©ã°ã€ã³ãšããŠè¿œå ããŸããã
å°ã圹ç«ã€ç°¡åãªå€æŽã®1ã€ã¯ãCONTAINERIDåãšIMAGEåã®ééãçãããããšã§ãã ä»ã®åã¯ãã¹ãŠ3ã€ã®ã¹ããŒã¹ã§åºåãããŠããŸãããããã2ã€ã¯8ã§åºåãããŠããŸãã
'docker ps'ãèªã¿ããããªããŸã§ã®ç§ã®5ã»ã³ãïŒ
ããã«ã€ããŠã®æŽæ°ã¯ãããŸããïŒ
docker ps
ã¯ãç§ãæãæãäžè¬çãªã³ãã³ãã§ãã 衚瀺ããåããã£ã«ã¿ãªã³ã°ãããªãã·ã§ã³ãæäŸããã®ã¯ããã»ã©é£ãããªãããšãé¡ã£ãŠããŸãã
ïŒç§ã¯ãã®ãããªãã®
@AntouanKãèšã£ãããã«ããããŠ@wppããã§ã«ææ¡ããããã«ãã»ãšãã©ã®ç¶æ³ã§ã¯åãã©ã°ã奜ãŸããŸã
ïŒ10255ã¯ããã«å¯ŸåŠããå¿ èŠããããšæããŸãã
@duglinããã«ãããããã©ã«ããçããªããŸããïŒ ããã§ãªããã°ããããéãããŸãŸã«ããŠããããã§ãã
@bfirshã®è¯ãç¹ã§ããããã©ã«ãã¯å€æŽãããŸããã ãã ããv2ãŸã§ããã©ã«ããå€æŽã§ãããã©ããã¯ããããŸããïŒå€æŽããå ŽåïŒãå€æŽããå Žåãæ¢åã®ã¯ã©ã€ã¢ã³ããç Žæããããã§ãã
ãã£ã¡ãäžç·ã ENV ['COLUMNS']ã«ãããå€ãé©çšããããšã§è¡šç€ºãããããã©ã«ãã®åãéžæããã€ã³ããªãžã§ã³ããªã¡ã«ããºã ã§ããããïŒ
https://github.com/docker/docker/issues/7477#issuecomment-70243594ã«åæããŸããåãéžæãããªãã·ã§ã³ãæå®ããŠãã ããã
https://github.com/docker/docker/issues/7477#issuecomment-70243594ãªãã·ã§ã³ã«ãæ祚ããŸãã
docker ps
ã¯docker ps --columns=id,image,command,created,status,ports,name
ãªããäžéšã®ãŠãŒã¶ãŒãhttps://github.com/docker/docker/issues/8786ãæãã§ããããã ip
ãªã©ã®ããå€ãã®åãç°¡åã«å®è£
ã§ããŸãã
--columnsã®+1
åé¿çãšããŠã docker ps -q
ãšdocker inspect --format
ãçµã¿åãããŸãã
docker ps -q | xargs docker inspect --format '{{printf "%.12s\t%s" .Id .Config.Cmd}}'
docker inspectãšgolangãã³ãã¬ãŒãã®åºåãæãäžããå¿ èŠããããŸãããã»ãŒç¡éã«æ§æå¯èœã§ãã
@jafcrockerãã
docker ps --format ...
ãå®è¡ããŠpsåºåãå€æŽã§ããããã«ããïŒ14699ãããŒãžããŸããã å¿
èŠã«å¿ããŠããã©ã«ãã®åœ¢åŒãèšå®ããããšãã§ããŸãã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã確èªããŠãã ããã
ãã®åé¡ã¯ä¿®æ£ããããã®ãšããŠã¯ããŒãºããŸãã ã©ãããæ°è»œã«è©ŠããŠã¿ãŠããæèŠããèãããã ããã
è©ŠããŠã¿ãã人ã®ããã«ãããã¹ã¿ãŒããã«ãã¯https://master.dockerproject.orgã§èŠã€ããããšãã§ãããã®æ©èœã¯ããã«ããã«ããã¯ãã§ãïŒãŸã ãªãå ŽåïŒ
--format
ã¯æ¬åœã«çŽ æŽãããè¿œå ã§ãããããã§äž»èŠãªåé¡ã解決ãããšã¯æããŸããã ç§ãæ¯æ¥äœ¿çšããã»ãšãã©ãã¹ãŠã®ã³ãã³ãã©ã€ã³ããŒã«ã¯ãå¯å€ãµã€ãºã®ç«¯æ«ãé©åã«åŠçããŸãã ã»ãšãã©ã®å Žåã $COLUMNS
ç°å¢å€æ°ã確èªããé©åãªããã¹ãã衚瀺ããŸãã
ããšãã°ã80x24端æ«ã®ps aux
ïŒ
ãããŠã137x24端æ«ã®å ŽåïŒ
åå¹ ãå€æŽããã³ãã³ããççž®ããŠããã¹ãŠã1è¡ã«ããŸãåãŸãããã«ããŸãã èªã¿ããããšäººéã®ããã®è§£æã®ããããã®ããã®ãã¹ãŠã
確ãã«ã $COLUMNS
å¿ããŠç°ãªããã©ãŒããããªãã·ã§ã³ãé©çšããbashã©ãããŒãäœæã§ããŸãããããã¯æ¬åœã«ããããŒã«èããå§ããã³ãã³ãã©ã€ã³ããã°ã©ã ã®ããã©ã«ãã®åäœã§ãããšæããŸãã ç³ãèš³ãããŸããããdockerã®åºåã¯ä¹±éã§èªã¿ã«ããã§ãã
ãããè¡ãããªãçç±ã¯ãããŸããïŒ äžéšã®ã©ã€ãã©ãªã«å¶éããããŸããããããšãããªãã®åŽããã®æ±ºå®ã§ããïŒ ãããPRã§ä¿®æ£ããããšãæ€èšãã䟡å€ããããã©ãããç¥ãå¿ èŠããããŸãããããã¯ãééã£ãããªãŒãå ããŠããã®ãããããŸããã
@nsg ïŒåæããŸãã-ããã©ã«ãã®åºåã¯ãŸã æ¹åãããŠããå¯èœæ§ããããŸãã
ãã®åé¡ã«é¢ããæŽæ°ã¯ãããŸããïŒ
ãããã£ãŠãäœããã®çç±ã§ãç»åããã·ã¥ãpsåºåã§åãæšãŠãããªããªããŸããã 以åã¯Dockerã䜿çšã§ããããã«ããããã ãã«ã端æ«ãè¶ ã¯ã€ãïŒç»é¢å šäœãå ããïŒã«ããå¿ èŠããããŸããããä»ã§ã¯ããã ãã§ã¯äžååã§ãã 1.7.1ã®æç¹ã§ãåè¡ã®å¹ ã¯çŽ200åã§ãã 誰ããããªã«åºã端æ«ã䜿ã£ãŠããã®ã§ããïŒ
ç§ã¯ããã§å°ãéãã§ããŸãã
IDãåé€ããŠäœæãããšãå°ãéãéããŸãã
NAMES IMAGE STATUS PORTS COMMAND
elegant_turing nginx Up 13 secs 0.0.0.0:80->80/tcp, 443/tcp "nginx -g 'daemon off"
composedemo_web_1 composedemo_ Exited (2) 23 secs ago "/bin/sh -c 'python a"
composedemo_redis_1 redis Exited (137) 11 secs ago "/entrypoint.sh redis"
elated_carson hello-world Exited (0) 23 mins ago "/hello"
ããã§ãé·ãããŸãã 0.0.0.0
ã¯ç¡èŠã§ããŸãïŒ
NAMES IMAGE STATUS PORTS COMMAND
elegant_turing nginx Up 13 secs 80->80/tcp, 443/tcp "nginx -g 'daemon off"
composedemo_web_1 composedemo_ Exited (2) 23 secs ago "/bin/sh -c 'python a"
composedemo_redis_1 redis Exited (137) 11 secs ago "/entrypoint.sh redis"
elated_carson hello-world Exited (0) 23 mins ago "/hello"
ããããããã§ãå°ãé·ãã§ãã ãããããã¹ããŒã¿ã¹ãçãããããã«ããçšåºŠã®åµé æ§ãå¿
èŠã§ã...äœã解æå¯èœ/ã¹ãã£ã³å¯èœã§ãããããã§ãçãã§ã... Exit (2) 23s ago
å€åïŒ
ã³ãã³ãã¯ççž®ã§ããŸãããå°ãªããšãã³ãã³ãã®_some_ã衚瀺ãããããã«ãä»ã®ã³ãã³ããççž®ããå¿ èŠããããŸãã ååãçãããããšã¯ã§ããŸããã ç»åãåãæšãŠããããšãããããã...ãã衚瀺ãããå¯èœæ§ããããŸãã é·ãããŒãã«ã€ããŠãåãã§ãã
èãïŒ
ããã€ãã®ããã¯ã¯ããã«ãããŸãïŒ https ïŒ//github.com/docker/docker/compare/master ... bfirshïŒ7477-shorter-ps
@bfirshããªãã¯äœãã«
ïŒããªããèšã£ãããã«ïŒã¹ããŒã¿ã¹ã23ç§ã§ã¯ãªã23ç§ã«å€æŽããç»åãšããŒãã®äž¡æ¹ã®åãåãæšãŠãå Žåã¯ãååã«çãããå¿ èŠããããŸãã
@bfirshããã©ã«ãã®ãã¥ãŒã§äœæ¥ãéå§ããŠããŸããïŒ äžéšã®äººã話ããŠãã--format
ãªãã·ã§ã³ãèããŠããŸããïŒ
ãŸãã s
代ããã«sec
ã m
代ããã«mins
m
䜿çšããããšãã§ããŸãã
@aanm Docker 1.8ã«ã¯ãã§ã«--format
ããããŸãã 次ã®ãããªãã®ãè¿œå ããŠãã¯ã©ã€ã¢ã³ãæ§æãã¡ã€ã«ã®ããã©ã«ãã®psåäœãå€æŽããããšãã§ããŸãã
{
"psFormat": "table {{ .ID }}\\t{{ .Status }}"
}
奜ã¿ã®åœ¢åŒã§ããã©ã«ããèšå®ã§ããŸãã
次ã®docker exec
ãå®è¡ããŠã¢ã¿ããããããã«ãçŸåšã®ã³ã³ããåã確èªããå¿
èŠãããããšããããããŸãã
ã§ãããã IMAGE
åŸã«NAMES
移åã§ãããšããã®ã§ãããããã§ããã®ã§ãããããèšå®ã¯å¿
èŠãããŸããã
ããããšãã
Docker 1.8.1ïŒfc21ïŒã®åé¡
--formatã¯ã³ã³ããåãèªèããŸããã
docker ps --format "{{ãID}} t {{ãImage}} t {{ãCreatedAt}} t {{ãRunningFor}} t {{ãStatus}} t {{ãName}}"-a
ãã³ãã¬ãŒã解æãšã©ãŒïŒãã³ãã¬ãŒã:: 1:64ïŒ<ãName>㧠""ãå®è¡ããŠããŸãïŒååã¯æ§é äœã¿ã€ã* ps.containerContextã®ãã£ãŒã«ãã§ã¯ãããŸãã
ãããŸã§ã®äœ¿çšïŒ
docker ps -a | perl -ne'chomp; @cols = split / s {2ã} /ã$ _; $ name = pop @cols; printf "ïŒ
-28sïŒ
-20sïŒ
-20sïŒ
-30sn"ã$ nameã$ cols [1]ã$ cols [3]ã$ cols [4] '
@parfãã¬ãŒã¹ãã«ããŒã¯å®éã«ã¯Names
ãšåŒã°ããŸãïŒ
ã€ã³ã¹ãã¬ãŒã·ã§ã³ãäžããŠããã@caiguanhaoã«æè¬ããŸãã
ç§ã¯ãããããã«æ®ããŠããŸãïŒ
IMAGE NAMES STATUS PORTS
xxxxx:x.x xx_xxxxxxxx_xxxxx Up About an hour 10.23.123.111:26002->6379/tcp
xxxxxxxxx:x.x xx_xxxxxxxx_xxxxxxxxx Up About an hour 29015/tcp
10.23.123.111:26001->8080/tcp
10.23.123.111:26000->28015/tcp
xxxxxxxx_xx_xxxxxxxx xx_xxxxxxxx Up About an hour 127.0.0.1:8086->8080/tcp
xxxxxx_xx xx_xxx_xxx Up About an hour 127.0.0.1:8082->8888/tcp
xxx_xx xx_xxx Up About an hour 127.0.0.1:8083->8080/tcp
xxxx/xxxxxxxxx-xxxxxx xx_xxx_xxxxxxxxx_xxx Up 2 hours 10.23.123.111:25002->25565/tcp
xxxx/xxxxxxxxx-xxxxxx xx_xxx_xxxxxxxxx_xxxxxx Up 2 hours 10.23.123.111:25001->25565/tcp
xxxxxx/xxxxxxxx:xxxxxx xxx_xxxxxxxx Up 3 hours 127.0.0.1:8080->8080/tcp
xxxxxxxxxx/xxxxxxx xxx_xxxxxxx Up 3 hours 10.23.123.111:25->25/tcp
10.23.123.111:587->587/tcp
xx_xxx xx_xx Up 3 hours 10.23.123.112:9987->9987/tcp
10.23.123.112:10011->10011/tcp
10.23.123.112:30033->30033/tcp
10.23.123.112:9987->9987/udp
xxxx.xx/xxxxxxxxx/xxxxxx:x.x.x xxx_xxxxxx Up 3 hours 10.42.241.123:22->22/tcp
443/tcp
127.0.0.1:8000->80/tcp
xxxxxx/xxxxxx-xxxxxx:xxxxxx xxx_xxxxxx_xx_xxxxxx Up 3 hours
xxxx.xx/xxxxxxxxx/xxxxxxxxxx:x.x-x xxx_xxxxxx_xxxxxxxx Up 3 hours 5432/tcp
xxxx.xx/xxxxxxxxx/xxxxx:xxxxxx xxx_xxxxxx_xxxxx Up 3 hours 6379/tcp
/etc/profile.d/dps.shïŒ https://gist.github.com/GottZ/4a6c2af314d73cd8b71d
çŽ æµãª@GottZ ãå ±æããŠãããŠããããšãïŒ
@thaJeztahèŠèªæ§ãé«ããããã«ãåå¶æ°è¡ã倪åã«ããŸããã 楜ããã§ãã ããïŒsmileïŒ
äžæ¹ã awk
ã§ã®ç§ã®ã¢ãããŒãïŒ
$ alias my_docker_ps="docker ps | awk 'BEGIN{FIELDWIDTHS = \"20 33 23 20 20 70 20\"}{print \$1,\$2,\$5,\$7}'"
$ my_docker_ps
CONTAINER ID IMAGE STATUS NAMES
b83fe9a6a06e kibana Up 32 minutes kibana
4d78b9cd2bed elasticsearch Up About an hour evil_feynman
fbbc40a49569 mattermost/platform Up 9 weeks mattermost-dev
3b4dd9d00305 outcoldman/splunk:latest Up 9 weeks boring_yalow
@danidelvalleãªãåçŽã§ã¯ãªãã®ãã
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
ããã¯ãã§ã«ã³ãããããããªãªãŒã¹ãããŠããŸãã ããããŸããããªãããããŸã éããŠããã®ã§ããïŒ
@thaJeztahããªãã¯æ£ããã§ããããããšã:)
@ ovidiub13äž»ãªçç±ã¯https://github.com/docker/docker/issues/7477#issuecomment-123898874
ãããããã¯è¿·æã§ãã
ç§ã¯éåžžãã¿ãŒããã«åã®å¹ ã§ããã©ã«ãã®psãåãæšãŠãã ãã§åé¡ãããŸããã
dps() {
docker ps | cut -c-$(tput cols)
}
--columns=name,id,status,image
+1
æ®å¿µãªããããã®åé¡ã¯ãŸã ååšããŠããŸãã ãšã«ããåé¿çã¯ããªãã®.bashrc
以äžïŒUbuntuã§ãã¹ãæžã¿ïŒãå
¥ããããšã§ãïŒ
CMD_WATCHDOCKER="watch \"docker ps -q | xargs docker inspect --format '{{.Id}} @{{.Config.Image}} @{{.Config.Cmd}} @{{range \\\$p, \\\$conf := .NetworkSettings.Ports}}{{\\\$p}}->{{(index \\\$conf 0).HostPort}}{{end}} @{{.NetworkSettings.IPAddress}}' | column -t -s='@' | cut -c 1-5,64-\""
alias watchdocker='eval $CMD_WATCHDOCKER'
watchdocker
ãå®è¡ãããšã次ã®ããã«ãªããŸãã
4596c3 ruby:2.2.2 [bash] 172.17.0.82
827ca9 postgres [postgres] 5432/tcp->5432 172.17.0.72
@Pithikos docker ps--format '{{ .ID }}\t{{ .Image }}\t{{ .Command }}\t{{ .Ports }}'
ã¯ãåã³ã³ãããŒã«å¯ŸããŠããããã¹ãŠã®APIåŒã³åºããè¡ããã«ãããæäŸããŸãã
ãŸããããã~/.docker/config.json
ã«å
¥ããŠãããã©ã«ãã®åœ¢åŒã«ããããšãã§ããŸã
@ cpuguy83ã©ã®ããŒãžã§ã³ãããããµããŒãããŠããŸããïŒ è·å Žã§ãèªå® ã§ãããããããŸãæ©èœãããããšã¯ã§ããŸããã§ããã ããã¥ã¡ã³ãã§ãã©ã®ããŒãžã§ã³ãäœããµããŒããããã«ã€ããŠèšåãããŠããã°ã
@Pithikos 1.8ã1.9ã®ã©ã¡ãããããããªãã
docker ps / imagesã80åã«é©åããã
æ£ããusgeã¯ãã©ãŒãããæååã®ãtableãããŒã¯ãŒãã䜿çšããŠããŸããããã«ãããé©åãªééã®ãã©ãŒããããåŸãããŸãdocker ps -a --format="table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Command}}\t{{.Status}}"
ps
ã®--format
ãã©ã°ãåé¡ã«å¯ŸåŠããŠããããã«èŠããã®ã§ããããéããŸãã çããããããšãïŒ
ãã®åé¡ã¯ããããããåä»ããããŠããŸããã§ããã ã³ãã³ãã®_default_ã¯80æåå¹ ã§ããå¿ èŠããããŸãã ããã¯ããã»ã©éèŠã§ã¯ãªãã®ã§ããããéããããããšãå¬ããæããŸãã
--format
ã¯ååã§ã¯ãªãããã§ãã
https://docs.docker.com/engine/reference/commandline/ps/#/formatting
MySQLã®select * from foobar\G
ããã«ãçµæãåçŽã«è¡šç€ºãããªãã·ã§ã³ãè¿œå ããã®ã¯ã©ãã§ãã
ç§ã¯éåžžãã©ã®ã³ã³ãããå®è¡ãããŠãããïŒãããŠã©ã®ãããã®æéïŒãç¥ãããã ãã§ãã
ããã¯ç§ã®ããã®ããªãã¯ãè¡ããŸãïŒ
$ docker ps --format "table {{.Names}}\t{{.Status}}"
ããã«è¯ãããšã«ãç§ã¯ãããæ¬åœã«èŠãããããšã€ãªã¢ã¹ã§ã©ããããŸããïŒ
alias dps='docker ps --format "table {{.Names}}\t{{.Status}}"'
åºåã®ãµã³ãã«ã次ã«ç€ºããŸãã
NAMES STATUS
projectxyz_chrome_1 Up 11 minutes
projectxyz_web_1 Up 11 minutes
projectxyz_app_1 Up 11 minutes
projectxyz_phpmyadmin_1 Up 11 minutes
projectxyz_memcached_1 Up 11 minutes
projectxyz_db_1 Up 11 minutes
--format
ã³ãã³ãã®è©³çŽ°ã«ã€ããŠã¯ã次ãåç
§ããŠãã ããã
https://docs.docker.com/engine/reference/commandline/ps/
ããã誰ããå©ããããšãé¡ã£ãŠããŸãð
@joshmedeski奜ã¿ã®ãã©ãŒããããæ§æãã¡ã€ã«ã«ä¿åããŠãããã©ã«ããšããŠäœ¿çšããããšãã§ããŸãã https://docs.docker.com/engine/reference/commandline/cli/#/configuration -files
ããŒã¹ãããŒã¯ãç¯çŽã®ç²Ÿç¥ã§ãããã§ç§ãäœåã®å³æ衚瀺ãåŸãããããã«ãåŒæ°ã®ãªã¹ããåããå€åºå ãã³ãã¬ãŒãæååãæ§ç¯ãããããã³ã°ãŠã£ã³ããŠã®psã³ãã³ããå®è¡ããããã«æžããå°ããªbashã¹ã¯ãªããã¯ãã©ã®ãããªé åºã§æåæé ãããŠããŸãã æ§æããã¡ã€ã«ã«å ¥ããããšã¯ååã«åçã§ã¯ãããŸãã-ããç¬éã«1ã€ã®åã®ã»ãããæã¡ãããç¬éã«å¥ã®ã»ããã®åãæã€ããšã¯éåžžã«äŸ¿å©ã§ãã ã¹ã¯ãªããã¯ããã«ãã
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import subprocess
show_all = False
fields = [
"Names",
"Command",
"Image",
"CreatedAt",
"Status",
]
cmd = ['docker', 'ps']
if show_all:
cmd += ['-a']
cmd += ['--format', '\t'.join([('{{ .'+field+' }}') for field in fields])]
response = subprocess.check_output(cmd)
dataset = [fields]
dataset_widths = [0] * len(fields)
for idx, line in enumerate(response.split('\n')[:-1]):
fieldvalues = line.decode('utf-8').replace(u"\u2026", u"_").split('\t')
dataset.append(fieldvalues)
for jdx, fieldvalue in enumerate(fieldvalues):
if dataset_widths[jdx] < len(fieldvalue):
dataset_widths[jdx] = len(fieldvalue)
for idx, items in enumerate(dataset):
output_line = ['{:>3d}'.format(idx)]
for jdx, item in enumerate(items):
output_line.append(('{:'+str(dataset_widths[jdx])+'s}').format(item))
print ' '.join(output_line)
ãããã/ .docker /config.jsonã«å
¥ããŸã{
"psFormat": "table {{.Names}}\\t{{.Image}}\\t{{.RunningFor}} ago\\t{{.Status}}\\t{{.Command}}",
"imagesFormat": "table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.Size}}"
}
ãããŠãã奜ã¿ã«åãããŠå€æŽããŠãã ããã ç§ã«ãšã£ãŠåé¡ã¯åžžã«é·ãç»ååã§ããïŒã«ã¹ã¿ã ç»åã®å人ãªããžããªåãå«ãŸããŠããããïŒ
ããè¯ãdockerpsãæ¢ããŠãã人ã¯ãããããã§ãã¯ããå¿
èŠããããŸãã
https://github.com/moncho/dry
åé¿çã®ããã¯ã å¿ èŠã«å¿ããŠãä¿æãã$ cols [x]ãå€æŽããŸãã
docker ps | perl -ne '<strong i="7">@cols</strong> = split /\s{2,}/, $_; printf "%30s %20s %20s\n", $cols[1], $cols[3], $cols[4]'
ããããšãã
ãããç§ãå¿
èŠãšãããã¹ãŠã§ããïŒ
docker ps | perl -ne '<strong i="12">@cols</strong> = split /\s{2,}/, $_; printf "%30s %20s %20s", $cols[1], $cols[4], $cols[6]'
ç»åã®ã¹ããŒã¿ã¹åãä»ãã
ããæŽåããåã§
ç·šé
次ã®ãããªbashãšã€ãªã¢ã¹ãäœæããããšããå§ãããŸãã
docker ps --format="table {{.Image}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}"
ãããŒãã«ã圢åŒã«æ³šæããŠãã ãã
åé¿çã®ããã¯ã å¿ èŠã«å¿ããŠãä¿æãã$ cols [x]ãå€æŽããŸãã
docker ps | perl -ne '<strong i="7">@cols</strong> = split /\s{2,}/, $_; printf "%30s %20s %20s\n", $cols[1], $cols[3], $cols[4]'
ããã¯ããããthnx
@nagracksããã©ã«ãã§ãã®åœ¢åŒãå¿
èŠãªå Žåã¯ã --format
ã¢ãããŒãã䜿çšããããšããå§ãããŸãïŒããã¯~/.docker/config.json
æ§æãã¡ã€ã«ã«ä¿åã§ããŸãïŒ
.docker/config.json
ãã¡ã€ã«ã次ã®ãããªã«ã¹ã¿ã ã§å€æŽããå ŽåïŒ
"imagesFormat": "table {{.ID}} {{.Repository}}\t{{.Tag}} {{.CreatedSince}} {{.Size}}",
"psFormat": "table {{.ID}} {{.Names}}\t{{.Image}} {{.Command}} {{.Status}}",
次ã«ã docker ps
ã³ãã³ãã䜿çšããŠããã©ã«ãã®åœ¢åŒã衚瀺ããã«ã¯ã©ãããã°ããã§ããïŒ docker ps --format ""
ãè©ŠããŸããããããã§ãèšå®ã䜿çšããŠããŸããã
docker ps --format=table
ã䜿çšãããšãããã©ã«ãã®ããŒãã«åœ¢åŒã«ãªããŸã
ããŒãã«ã®ãã©ãŒãããæ§æãäœã§ãããããŸãã¯ãã©ãŒãããã³ã³ããã¹ãã§ã®å€æ°åãäœã§ããããèŠããŠããªããŠããããã©ã«ãã§å©çšå¯èœãªåºåã®ããå°ãªãããŒãžã§ã³ãããã°ãç§ã¯æ¬åœã«æè¬ããŸãã ããã©ã«ãããã®ãŸãŸç¶æãããå Žåã§ãã_äºåã«ãã©ãŒãããããã_ããåé·ã§ãªãããŒãžã§ã³ã®ãã©ã°ã圹ç«ã¡ãŸãã
ããŸãåé·ã§ãªãããŒãžã§ã³ããã©ã®ãããªæ å ±ãæžããããšãã§ãããã«ã€ããŠã¯ãããã«ç§ã®2ã»ã³ãããããŸãã
ç§ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãéåžžãä»ã®ã³ãã³ããå®è¡ããã³ã³ããã®ååãæ€çŽ¢ãããã ãã§ãïŒããšãã°ããªã¢ãŒããµãŒããŒããŒãã§ïŒãåºåãè€æ°ã®è¡ã«ã©ãããããšãèå³ã®ããã³ã³ããã®æ£ç¢ºãªååã
ããã§ã®ãæ¿èªãããããœãªã¥ãŒã·ã§ã³ã¯ããšã€ãªã¢ã¹ãå®çŸ©ãããŠããç°å¢ã§ãããã®ã³ãã³ããåžžã«å®è¡ãããããã©ãŒãããæ§æãšã³ã³ããã¹ãå€æ°ãèŠããŠãããã®ããã«ãã-formatãã©ã¡ãŒã¿ãŒã䜿çšããŠãšã€ãªã¢ã¹ãæ§æããããšããããšã«å°ããã£ããããŠããŸãã
ç§ã¯ãŸã ãã®åé¡ã«æ¯æ¥ééããŠããŸããFWIWã çŸåšã®docker ps -a
åºåã¯_180æåå¹
_-27ã€ã³ã4Kç»é¢ã®åå以äžã§ãïŒ
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
994be99dddd1 nvidia/cuda:10.2-devel-ubuntu18.04 "bash" 4 days ago Exited (0) 4 days ago eager_tesla
30796cc3db32 nvidia/cuda:10.2-devel-ubuntu18.04 "bash" 4 days ago Exited (127) 4 days ago laughing_maxwell
ed5f20c1cff3 gcr.io/deeplearning-platform-release/tf2-gpu "/entrypoint.sh bash" 4 days ago Exited (0) 3 days ago distracted_ardinghelli
0bb06e992ef4 gcr.io/deeplearning-platform-release/tf2-gpu "/entrypoint.sh bash" 4 days ago Exited (0) 4 days ago bold_brahmagupta
å¹³åçãªãŠãŒã¶ãŒã¯ãé©åºŠãªãµã€ãºã®ç«¯æ«ã§èªã¿åãå¯èœã«ããããã ãã«ã docker ps
ã³ãã³ãã®ãšã€ãªã¢ã¹ãäœæããããšãæåŸ
ãã¹ãã§ã¯ãããŸããã ãã¶ãããã¯80æåã»ã©å°ããããå¿
èŠã¯ãããŸãããã確ãã«180æåã§ãã£ãŠã¯ãªããŸããã
ã¹ãããŒãã³ãšããŠãã«ãªã¯ãšã¹ããéããããªããŸãã ð
æãåèã«ãªãã³ã¡ã³ã
ãã±ãããã«ãžã®é 管ã®äœãåé¡ã«ãªã£ãŠããŸããïŒ