docker命令整理
文章目錄
- 語法
- option
- 管理命令
- container
- image
- network
- node
- plugin
- secret
- service
- stack
- swarm
- system
- volume
- 容器生命周期管理
- run
- start/stop/restart
- kill
- rm
- pause/unpause
- create
- exec
- 容器操作
- ps
- inspect
- top
- attach
- events
- logs
- wait
- export
- port
- 容器rootfs命令
- commit
- cp
- diff
- 鏡像倉庫 login
- logout
- pull
- push
- search
- 本地鏡像管理
- images
- rmi
- tag
- build
- history
- save
- load
- import
- info|version info
- version
語法
docker COMMAND [options]option
--config string Location of client config files (default "/root/.docker")-D, --debug Enable debug mode--help Print usage-H, --host list Daemon socket(s) to connect to (default [])-l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")--tls Use TLS; implied by --tlsverify--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")--tlskey string Path to TLS key file (default "/root/.docker/key.pem")--tlsverify Use TLS and verify the remote-v, --version Print version information and quit管理命令
container
管理containers。見后面
image
管理 images。見后面
network
管理networks。
語法:
子命令
connect Connect a container to a networkcreate Create a networkdisconnect Disconnect a container from a networkinspect Display detailed information on one or more networksls List networksprune Remove all unused networksrm Remove one or more networksnode
管理Swarm節(jié)點(diǎn)。需要swarm。
plugin
管理plugins。
子命令:
secret
管理Docker secrets。需要swarm。
子命令:
service
管理services。需要swarm。
子命令:
stack
管理Docker stacks。需要swarm。
子命令:
swarm
Manage Swarm。
system
管理Docker。
子命令:
volume
管理volumes。
語法:
子命令
create Create a volumeinspect Display detailed information on one or more volumesls List volumesprune Remove all unused volumesrm Remove one or more volumes容器生命周期管理
run
功能
創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
語法
參數(shù)
OPTIONS說明:
--a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng);
--d: 后臺(tái)運(yùn)行容器,并返回容器ID;
--i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
--P: 隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的高端口
--p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口
--t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
-–name=“nginx-lb”: 為容器指定一個(gè)名稱;
-–dns 8.8.8.8: 指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致;
-–dns-search example.com: 指定容器DNS搜索域名,默認(rèn)和宿主一致;
--h “mars”: 指定容器的hostname;
--e username=“ritchie”: 設(shè)置環(huán)境變量;
-–env-file=[]: 從指定文件讀入環(huán)境變量;
-–cpuset=“0-2” or --cpuset=“0,1,2”: 綁定容器到指定CPU運(yùn)行;
--m:設(shè)置容器使用內(nèi)存最大值;
-–net=“bridge”: 指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型;
-–link=[]: 添加鏈接到另一個(gè)容器;
-–expose=[]: 開放一個(gè)端口或一組端口;
-–volume , -v: 綁定一個(gè)卷
示例
start/stop/restart
功能
docker start :啟動(dòng)一個(gè)或多個(gè)已經(jīng)被停止的容器
docker stop :停止一個(gè)運(yùn)行中的容器
docker restart :重啟容器
語法
參數(shù)
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
–detach-keys string Override the key sequence for detaching a container
–help Print usage
-i, --interactive Attach container’s STDIN
kill
功能
殺掉一個(gè)運(yùn)行中的容器。
語法
參數(shù)
OPTIONS說明:
--s:向容器發(fā)送一個(gè)信號
示例
rm
功能
刪除一個(gè)或多個(gè)容器。
語法
參數(shù)
OPTIONS說明:
--f:通過 SIGKILL 信號強(qiáng)制刪除一個(gè)運(yùn)行中的容器。
--l:移除容器間的網(wǎng)絡(luò)連接,而非容器本身。
--v:刪除與容器關(guān)聯(lián)的卷。
stop,rm,kill區(qū)別
- docker stop
將容器保留在docker ps -a列表中(如果您想將其狀態(tài)保存在新image中,則可以提交該容器)。它先發(fā)送SIGTERM,然后在寬限期之后發(fā)送SIGKILL。優(yōu)雅退出。 - docker rm
將從docker ps -a列表中刪除容器,丟失其“狀態(tài)”(寫在image文件系統(tǒng)頂部的分層文件系統(tǒng))。它無法刪除正在運(yùn)行的容器(除非使用調(diào)用-f,在這種情況下,它將直接發(fā)送SIGKILL)。 - docker kill
發(fā)送SIGKILL信號,應(yīng)用程序直接退出。
在生命周期方面,應(yīng)該首先停止容器,然后再將其刪除。
pause/unpause
功能
docker pause :暫停容器中所有的進(jìn)程。
docker unpause :恢復(fù)容器中所有的進(jìn)程。
語法
參數(shù)
create
功能
創(chuàng)建一個(gè)新的容器但不啟動(dòng)它。create的容器,可以通過start命令啟動(dòng)。
語法
參數(shù)
同docker run
exec
功能
在運(yùn)行的容器中執(zhí)行命令
語法
參數(shù)
OPTIONS說明:
--d:分離模式: 在后臺(tái)運(yùn)行
--i:即使沒有附加也保持STDIN 打開
--t:分配一個(gè)偽終端 。(在crontab等非前端任務(wù)中,如果加此參數(shù),會(huì)提示:the input device is not a TTY)
示例
容器操作
ps
功能
列出容器
語法
參數(shù)
OPTIONS說明:
--a:顯示所有的容器,包括未運(yùn)行的。
--f:根據(jù)條件過濾顯示的內(nèi)容。
-–format:指定返回值的模板文件。
--l:顯示最近創(chuàng)建的容器。
--n:列出最近創(chuàng)建的n個(gè)容器。
-–no-trunc:不截?cái)噍敵觥?br /> --q:靜默模式,只顯示容器編號。
--s:顯示總的文件大小。
inspect
功能
獲取容器/鏡像的元數(shù)據(jù)。
語法
參數(shù)
OPTIONS說明:
--f:指定返回值的模板文件。
--s:顯示總的文件大小。
-–type:為指定類型返回JSON。
top
功能
查看容器中運(yùn)行的進(jìn)程信息,支持 ps 命令參數(shù)。
語法
參數(shù)
attach
功能
連接到正在運(yùn)行中的容器。
要attach上去的容器必須正在運(yùn)行,可以同時(shí)連接上同一個(gè)container來共享屏幕(與screen命令的attach類似)。
官方文檔中說attach后可以通過CTRL-C來detach,但實(shí)際上經(jīng)過測試,如果container當(dāng)前在運(yùn)行bash,CTRL-C自然是當(dāng)前行的輸入,沒有退出;如果container當(dāng)前正在前臺(tái)運(yùn)行進(jìn)程,如輸出nginx的access.log日志,CTRL-C不僅會(huì)導(dǎo)致退出容器,而且還stop了。這不是我們想要的,detach的意思按理應(yīng)該是脫離容器終端,但容器依然運(yùn)行。好在attach是可以帶上**–sig-proxy=false**來確保CTRL-D或CTRL-C不會(huì)關(guān)閉容器。
語法
參數(shù)
Options:
–detach-keys string Override the key sequence for detaching a container
–help Print usage
–no-stdin Do not attach STDIN
–sig-proxy Proxy all received signals to the process (default true)
events
功能
從服務(wù)器獲取實(shí)時(shí)事件
語法
參數(shù)
OPTIONS說明:
-**-f :根據(jù)條件過濾事件;
-–since :從指定的時(shí)間戳后顯示所有事件;
-–until :**流水時(shí)間顯示到指定的時(shí)間為止;
logs
功能
獲取容器的日志
語法
參數(shù)
OPTIONS說明:
--f: 跟蹤日志輸出。類似linux tail -f 命令,滾動(dòng)更新。
-–since:顯示某個(gè)開始時(shí)間的所有日志
--t: 顯示時(shí)間戳
-–tail:僅列出最新N條容器日志
wait
功能
阻塞運(yùn)行直到容器停止,然后打印出它的退出代碼。
語法
參數(shù)
export
功能
將container作為一個(gè)tar歸檔文件導(dǎo)出到STDOUT。
語法
參數(shù)
OPTIONS說明:
--o:將輸入內(nèi)容寫到文件。
示例:
port
功能
列出指定的容器的端口映射,或者查找將PRIVATE_PORT NAT到面向公眾的端口
語法
參數(shù)
容器rootfs命令
commit
功能
從容器創(chuàng)建一個(gè)新的鏡像。
語法
參數(shù)
OPTIONS說明:
--a:提交的鏡像作者;
--c:使用Dockerfile指令來創(chuàng)建鏡像;
--m:提交時(shí)的說明文字;
--p:在commit時(shí),將容器暫停。
cp
功能
用于容器與主機(jī)之間的數(shù)據(jù)拷貝
語法
參數(shù)
OPTIONS說明:
--L:保持源目標(biāo)中的鏈接
容器是鏡像的運(yùn)行實(shí)例。不同的是,鏡像是靜態(tài)的只讀文件,而容器帶有運(yùn)行時(shí)需要的可寫文件層;同時(shí),容器中的應(yīng)用進(jìn)程處于運(yùn)行狀態(tài)。所以是可以copy的。
示例
diff
功能
檢查容器里文件結(jié)構(gòu)的更改。更改標(biāo)識(shí)由C,D,A標(biāo)識(shí)。
語法
參數(shù)
鏡像倉庫 login
功能
登陸到一個(gè)Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認(rèn)為官方倉庫 Docker Hub
語法
參數(shù)
OPTIONS說明:
--u:登陸的用戶名
--p:登陸的密碼
logout
功能
登出一個(gè)Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認(rèn)為官方倉庫 Docker Hub
語法
參數(shù)
OPTIONS說明:
--u:登陸的用戶名
--p:登陸的密碼
pull
功能
從鏡像倉庫中拉取或者更新指定鏡像
語法
參數(shù)
OPTIONS說明:
--a:拉取所有 tagged 鏡像
-–disable-content-trust:忽略鏡像的校驗(yàn),默認(rèn)開啟
如果未指定tag,則為最新鏡像。
push
功能
將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
語法
參數(shù)
OPTIONS說明:
-–disable-content-trust:忽略鏡像的校驗(yàn),默認(rèn)開啟
search
功能
從Docker Hub查找鏡像
語法
參數(shù)
OPTIONS說明:
-–automated:只列出 automated build類型的鏡像;
-–no-trunc:顯示完整的鏡像描述;
--s:列出收藏?cái)?shù)不小于指定值的鏡像。
本地鏡像管理
images
功能
列出本地鏡像。
語法
參數(shù)
OPTIONS說明:
--a:列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過濾掉中間映像層);
-–digests:顯示鏡像的摘要信息;
--f:顯示滿足條件的鏡像;
-–format:指定返回值的模板文件;
-–no-trunc:顯示完整的鏡像信息;
--q:只顯示鏡像ID。
rmi
功能
刪除本地一個(gè)或多少鏡像。
語法
參數(shù)
OPTIONS說明:
--f:強(qiáng)制刪除;不論鏡像是否被容器使用。
-–no-prune:不移除該鏡像的過程鏡像,默認(rèn)移除;
tag
功能
標(biāo)記本地鏡像,將其歸入某一倉庫。
語法
參數(shù)
build
功能
使用 Dockerfile 創(chuàng)建鏡像。
語法
參數(shù)
OPTIONS說明:
-–build-arg=[]:設(shè)置鏡像創(chuàng)建時(shí)的變量;
-–cpu-shares:設(shè)置 cpu 使用權(quán)重;
-–cpu-period:限制 CPU CFS周期;
-–cpu-quota:限制 CPU CFS配額;
-–cpuset-cpus:指定使用的CPU id;
-–cpuset-mems:指定使用的內(nèi)存 id;
-–disable-content-trust:忽略校驗(yàn),默認(rèn)開啟;
--f:指定要使用的Dockerfile路徑;
-–force-rm:設(shè)置鏡像過程中刪除中間容器;
-–isolation:使用容器隔離技術(shù);
-–label=[]:設(shè)置鏡像使用的元數(shù)據(jù);
--m:設(shè)置內(nèi)存最大值;
-–memory-swap:設(shè)置Swap的最大值為內(nèi)存+swap,"-1"表示不限swap;
-–no-cache:創(chuàng)建鏡像的過程不使用緩存;
-–pull:嘗試去更新鏡像的新版本;
-–quiet, -q:安靜模式,成功后只輸出鏡像 ID;
-–rm:設(shè)置鏡像成功后刪除中間容器;
-–shm-size:設(shè)置/dev/shm的大小,默認(rèn)值是64M;
-–ulimit:Ulimit配置。
-–tag, -t: 鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個(gè)鏡像設(shè)置多個(gè)標(biāo)簽。
-–network: 默認(rèn) default。在構(gòu)建期間設(shè)置RUN指令的網(wǎng)絡(luò)模式
示例
history
功能
查看指定鏡像的創(chuàng)建歷史。
語法
參數(shù)
OPTIONS說明:
--H:以可讀的格式打印鏡像大小和日期,默認(rèn)為true;
-–no-trunc:顯示完整的提交記錄;
--q:僅列出提交記錄ID。
save
功能
將指定鏡像保存成 tar 歸檔文件。
語法
參數(shù)
OPTIONS 說明:
--o:輸出到的文件。
load
功能
導(dǎo)入使用save 命令導(dǎo)出的鏡像。
語法
參數(shù)
OPTIONS 說明:
-–input , -i: 指定導(dǎo)入的文件,代替 STDIN。
-–quiet , -q: 精簡輸出信息。
import
功能
從歸檔文件中創(chuàng)建鏡像。
語法
參數(shù)
OPTIONS說明:
--c:應(yīng)用docker 指令創(chuàng)建鏡像;
--m:提交時(shí)的說明文字;
注意:
實(shí)際上,既可以使用docker load命令來導(dǎo)入鏡像庫存儲(chǔ)文件到本地鏡像庫,也可以使用docker import命令來導(dǎo)入一個(gè)容器快照到本地鏡像庫。
兩者的區(qū)別在于容器快照將會(huì)丟棄所有的歷史記錄和元數(shù)據(jù)信息,而鏡像存儲(chǔ)文件將保存完整記錄,體積也會(huì)更大。此外從容器快照文件導(dǎo)入時(shí),也可以重新指定標(biāo)簽等元數(shù)據(jù)。
info|version info
功能
顯示 Docker 系統(tǒng)信息,包括鏡像和容器數(shù)。。
語法
參數(shù)
Options:
-f, --format string Format the output using the given Go template
–help Print usage
version
功能
顯示 Docker 版本信息。
語法
參數(shù)
OPTIONS說明:
--f :指定返回值的模板文件。
總結(jié)
以上是生活随笔為你收集整理的docker命令整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模型评估之混淆矩阵
- 下一篇: Jenkins Pipeline 语法