2.3、容器操作
2.3.1、docker ps
docker ps :?列出容器
語法
docker ps [OPTIONS]
OPTIONS說明:
-
-a :顯示所有的容器,包括未運行的。
-
-f :根據條件過濾顯示的內容。
-
--format :指定返回值的模板文件。
-
-l :顯示最近創建的容器。
-
-n :列出最近創建的n個容器。
-
--no-trunc :不截斷輸出。
-
-q :靜默模式,只顯示容器編號。
-
-s :顯示總的文件大小。
2.3.2、docker inspect
docker inspect :?獲取容器/鏡像的元數據。
語法
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS說明:
-
-f :指定返回值的模板文件。
-
-s :顯示總的文件大小。
-
--type :為指定類型返回JSON。
實例
獲取正在運行的容器mymysql的 IP。
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql 172.17.0.3
2.3.3、docker top
docker top :查看容器中運行的進程信息,支持 ps 命令參數。
語法
docker top [OPTIONS] CONTAINER [ps OPTIONS]
容器運行時不一定有/bin/bash終端來交互執行top命令,而且容器還不一定有top命令,可以使用docker top來實現查看container中正在運行的進程。
實例
查看容器mymysql的進程信息。
~/mysql$ docker top mymysql
UID PID PPID C STIME TTY TIME CMD
999 40347 40331 18 00:58 ? 00:00:02 mysqld
查看所有運行容器的進程信息。
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
2.3.4、docker attach
docker attach :連接到正在運行中的容器。
語法
docker attach [OPTIONS] CONTAINER
要attach上去的容器必須正在運行,可以同時連接上同一個container來共享屏幕(與screen命令的attach類似)。
可以帶上--sig-proxy=false來確保CTRL-D或CTRL-C不會關閉容器。
實例
容器mynginx將訪問日志指到標準輸出,連接到容器查看訪問信息。
docker attach --sig-proxy=false mynginx 192.168.239.1 - - [10/Jul/2016:16:54:26 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"
2.3.5、docker events
docker events :?從服務器獲取實時事件
語法
docker events [OPTIONS]
OPTIONS說明:
-
-f :根據條件過濾事件;
-
--since :從指定的時間戳后顯示所有事件;
-
--until :流水時間顯示到指定的時間為止;
實例
顯示docker 2016年7月1日后的所有事件。
2.3.6、docker logs
docker logs :?獲取容器的日志
語法
docker logs [OPTIONS] CONTAINER
OPTIONS說明:
-
-f :?跟蹤日志輸出
-
--since :顯示某個開始時間的所有日志
-
-t :?顯示時間戳
-
--tail :僅列出最新N條容器日志
2.3.7、docker wait
docker wait :?阻塞運行直到容器停止,然后打印出它的退出代碼。
語法
docker wait [OPTIONS] CONTAINER [CONTAINER...]
實例
?2.3.8、docker export
docker export :將文件系統作為一個tar歸檔文件導出到STDOUT。
語法
docker export [OPTIONS] CONTAINER
OPTIONS說明:
-
-o :將輸入內容寫到文件。
實例
將id為a404c6c174a2的容器按日期保存為tar文件。
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2 ls mysql-`date +%Y%m%d`.tar mysql-20160711.tar
?2.3.8、docker port
docker port :列出指定的容器的端口映射,或者查找將PRIVATE_PORT NAT到面向公眾的端口。
語法
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
實例
查看容器mynginx的端口映射情況。
runoob@runoob:~$ docker port mymysql 3306/tcp -> 0.0.0.0:3306
?