本文介紹內(nèi)容包括“容器生命周期管理命令”、“容器操作命令”、“容器rootfs命令”、“鏡像倉庫命令”、“本地鏡像管理命令”和“基礎(chǔ)版本信息命令”。 >>
容器生命周期管理命令
run
創(chuàng)建一個(gè)新的容器。
# 使用docker鏡像nginx:latest以后臺(tái)模式啟動(dòng)一個(gè)容器,并將容器命名為mynginx。
docker run --name mynginx -d nginx:latest
# 使用鏡像 nginx:latest,以后臺(tái)模式啟動(dòng)一個(gè)容器,將容器的 80 端口映射到主機(jī)的 80 端口,主機(jī)的目錄 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
# 使用鏡像nginx:latest以交互模式啟動(dòng)一個(gè)容器,在容器內(nèi)執(zhí)行/bin/bash命令。
docker run -it nginx:latest /bin/bash
start/stop/restart
- docker start : 啟動(dòng)一個(gè)或多個(gè)已經(jīng)被停止的容器。
- docker stop : 停止一個(gè)運(yùn)行中的容器。
- docker restart : 重啟容器。
# 啟動(dòng)已被停止的容器mynginx
docker start mynginx
# 停止運(yùn)行中的容器mynginx
docker stop mynginx
# 重啟容器mynginx
docker restart mynginx
kill
殺掉一個(gè)運(yùn)行中的容器。可選參數(shù):
- -s : 發(fā)送什么信號(hào)到容器,默認(rèn) KILL
# 根據(jù)容器名字殺掉容器
docker kill tomcat7
# 根據(jù)容器ID殺掉容器
docker kill 65d4a94f7a39
rm
刪除一個(gè)或多個(gè)容器。
# 強(qiáng)制刪除容器 db01、db02:
docker rm -f db01 db02
# 刪除容器 nginx01, 并刪除容器掛載的數(shù)據(jù)卷:
docker rm -v nginx01
# 刪除所有已經(jīng)停止的容器:
docker rm $(docker ps -a -q)
create
創(chuàng)建一個(gè)新的容器但不啟動(dòng)它。
# 使用docker鏡像nginx:latest創(chuàng)建一個(gè)容器,并將容器命名為mynginx
docker create --name mynginx nginx:latest
exec
在運(yùn)行的容器中執(zhí)行命令??蛇x參數(shù):
- -d : 分離模式: 在后臺(tái)運(yùn)行
- -i : 即使沒有附加也保持STDIN 打開
- -t : 分配一個(gè)偽終端
# 在容器 mynginx 中以交互模式執(zhí)行容器內(nèi) /root/nginx.sh 腳本
docker exec -it mynginx /bin/sh /root/nginx.sh
# 在容器 mynginx 中開啟一個(gè)交互模式的終端
docker exec -i -t mynginx /bin/bash
# 也可以通過 docker ps -a 命令查看已經(jīng)在運(yùn)行的容器,然后使用容器 ID 進(jìn)入容器。
docker ps -a
docker exec -it 9df70f9a0714 /bin/bash
pause/unpause
- docker pause :暫停容器中所有的進(jìn)程。
- docker unpause :恢復(fù)容器中所有的進(jìn)程。
# 暫停數(shù)據(jù)庫容器db01提供服務(wù)。
docker pause db01
# 恢復(fù)數(shù)據(jù)庫容器 db01 提供服務(wù)
docker unpause db0
容器操作命令
ps
列出容器??蛇x參數(shù):
- -a : 顯示所有的容器,包括未運(yùn)行的。
- -f : 根據(jù)條件過濾顯示的內(nèi)容。
- –format : 指定返回值的模板文件。
- -l : 顯示最近創(chuàng)建的容器。
- -n : 列出最近創(chuàng)建的n個(gè)容器。
- –no-trunc : 不截?cái)噍敵觥?/li>
- -q : 靜默模式,只顯示容器編號(hào)。
- -s : 顯示總的文件大小。
# 列出所有在運(yùn)行的容器信息。
docker ps
# 列出最近創(chuàng)建的5個(gè)容器信息。
docker ps -n 5
# 列出所有創(chuàng)建的容器ID。
docker ps -a -q
補(bǔ)充說明:
容器的7種狀態(tài):created(已創(chuàng)建)、restarting(重啟中)、running(運(yùn)行中)、removing(遷移中)、paused(暫停)、exited(停止)、dead(死亡)。
inspect
獲取容器/鏡像的元數(shù)據(jù)。可選參數(shù):
- -f : 指定返回值的模板文件。
- -s : 顯示總的文件大小。
- –type : 為指定類型返回JSON。
# 獲取鏡像mysql:5.7的元信息。
docker inspect mysql:5.7
# 獲取正在運(yùn)行的容器mymysql的 IP。
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql
top
查看容器中運(yùn)行的進(jìn)程信息,支持 ps 命令參數(shù)。
# 查看容器mymysql的進(jìn)程信息。
docker top mymysql
# 查看所有運(yùn)行容器的進(jìn)程信息。
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \\ &&docker top $i; done
events
獲取實(shí)時(shí)事件。參數(shù)說明:
- -f : 根據(jù)條件過濾事件;
- –since : 從指定的時(shí)間戳后顯示所有事件;
- –until : 流水時(shí)間顯示到指定的時(shí)間為止;
# 顯示docker 2016年7月1日后的所有事件。
docker events --since="1467302400"
# 顯示docker 鏡像為mysql:5.6 2016年7月1日后的相關(guān)事件。
docker events -f "image"="mysql:5.6" --since="1467302400"
說明:如果指定的時(shí)間是到秒級(jí)的,需要將時(shí)間轉(zhuǎn)成時(shí)間戳。如果時(shí)間為日期的話,可以直接使用,如–since=“2016-07-01”。
logs
獲取容器的日志。參數(shù)說明:
# 跟蹤查看容器mynginx的日志輸出。
docker logs -f mynginx
# 查看容器mynginx從2016年7月1日后的最新10條日志。
docker logs --since="2016-07-01" --tail=10 mynginx
-
編程
+關(guān)注
關(guān)注
88文章
3574瀏覽量
93545 -
Docker
+關(guān)注
關(guān)注
0文章
454瀏覽量
11798 -
rootfs
+關(guān)注
關(guān)注
0文章
19瀏覽量
4660
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論