掃盲 docker 常用命令
作者:溪~源
來源:blog.csdn.net/xuan_lu/article/details/119700854
一、docker常用命令
docker?--help?#查看docker命令
docker?info?#docker?詳細(xì)信息,鏡像和容器
docker?version?#查看docker版本
幫助文檔地址:https://docs.docker.com/reference/
二、鏡像命令

docker?images?#?查看docker鏡像;
#?具體列解釋含義:
REPOSITORY#鏡像倉庫源????????????????
TAG#鏡像的標(biāo)簽?????????????????
IMAGE?ID#鏡像id????????????
CREATED#創(chuàng)建時(shí)間?????????????
SIZE#大小
同一個(gè)倉庫源可以有多個(gè)TAG,表示這個(gè)倉庫源的不同版本,我們使用REPOSITORY:TAG來定義不同的鏡像。如果不指定一個(gè)鏡像的版本標(biāo)簽,例如只使用tomcat,docker將默認(rèn)使用tomcat:latest鏡像
docker?images?-a#列出本地所有的鏡像
docker?images?-q#只顯示鏡像ID
docker?images?--digests#顯示鏡像的摘要信息
docker?images?--no-trunc#顯示完整的鏡像信息
示例:
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?images?-q
d1165f221234
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?images?--digests
REPOSITORY????TAG???????DIGEST????????????????????????????????????????????????????????????????????IMAGE?ID???????CREATED????????SIZE
hello-world???latest????sha256:0fe98d7debd9049c50b597ef1f85b7c1e8cc81f59c8d623fcb2250e8bec85b38???d1165f221234???5?months?ago???13.3kB
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?images?--no-trunc
REPOSITORY????TAG???????IMAGE?ID??????????????????????????????????????????????????????????????????CREATED????????SIZE
hello-world???latest????sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726???5?months?ago???13.3kB
dockerhub
docker?search?tomcat?#從Docker?Hub上查找tomcat鏡像
STARS:關(guān)注度
docker?search?--filter=stars=300?tomcat#從Docker?Hub上查找關(guān)注度大于300的tomcat鏡像
docker?pull?tomcat#從Docker Hub上下載tomcat鏡像。等價(jià)于:docker pull tomcat:latest

從Docker Hub上查找關(guān)注度大于300的tomcat鏡像

NAME?#名稱
DESCRIPTION?#描述
STARS?#點(diǎn)贊
OFFICIAL?#是否官方
AUTOMATED?#是否自動(dòng)構(gòu)建
鏡像下載
#?下載Redis官方最新鏡像,相當(dāng)于:docker pull redis:latest
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?pull?redis
Using?default?tag:?latest
latest:?Pulling?from?library/redis
33847f680f63:?Pull?complete
26a746039521:?Pull?complete
18d87da94363:?Pull?complete
5e118a708802:?Pull?complete
ecf0dbe7c357:?Pull?complete
46f280ba52da:?Pull?complete
Digest:?sha256:cd0c68c5479f2db4b9e2c5fbfdb7a8acb77625322dd5b474578515422d3ddb59
Status:?Downloaded?newer?image?for?redis:latest
docker.io/library/redis:latest
刪除鏡像命令
##單個(gè)鏡像刪除,相當(dāng)于:docker rmi redis:latest
docker?rmi?redis
##強(qiáng)制刪除(針對(duì)基于鏡像有運(yùn)行的容器進(jìn)程)
docker?rmi?-f?redis
##多個(gè)鏡像刪除,不同鏡像間以空格間隔
docker?rmi?-f?redis?tomcat?nginx
##刪除本地全部鏡像
docker?rmi?-f?$(docker?images?-q)
三、容器命令
只有下載鏡像才能運(yùn)行容器命令
容器啟動(dòng)與停止
##新建并啟動(dòng)容器,參數(shù):-i ?以交互模式運(yùn)行容器;-t ?為容器重新分配一個(gè)偽輸入終端;--name ?為容器指定一個(gè)名稱
docker?run?-i?-t?--name?mycentos
##后臺(tái)啟動(dòng)容器,參數(shù):-d ?已守護(hù)方式啟動(dòng)容器
docker?run?-d?mycentos
#啟動(dòng)或者停止容器
docker?start?容器id
docker?restart?容器id
docker?kill?容器id
docker?stop?容器id
示例:
#運(yùn)行centos鏡像
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?run?-it?centos
#?查看鏡像文件目錄
[root@9ec4a30b3209?/]#?ls
bin??dev??etc??home??lib??lib64??lost+found??media??mnt??opt??proc??root??run??sbin??srv??sys??tmp??usr??var
[root@9ec4a30b3209?/]#exit
#并沒有運(yùn)行中的鏡像
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?ps
CONTAINER?ID???IMAGE?????COMMAND???CREATED???STATUS????PORTS?????NAMES
容器進(jìn)入與退出
##使用run方式在創(chuàng)建時(shí)進(jìn)入
docker?run?-it?centos?/bin/bash
##關(guān)閉容器并退出
exit
##僅退出容器,不關(guān)閉
快捷鍵:Ctrl + P + Q
示例:
#啟動(dòng)鏡像
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?run?-it?centos?/bin/bash
#ctrl?+p?+q退出,查看運(yùn)行的容器
[root@f6db6f0661af?/]#?[root@izbp1hcw0fjg64l58525bqz?~]#?docker?ps
CONTAINER?ID???IMAGE?????COMMAND???????CREATED??????????????STATUS??????????????PORTS?????NAMES
f6db6f0661af???centos????"/bin/bash"???About?a?minute?ago???Up?About?a?minute?????????????elegant_shtern
#?停止容器
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?stop?f6db6f0661af
f6db6f0661af
[root@izbp1hcw0fjg64l58525bqz?~]#?docker?ps?-q
容器日志
##查看redis容器日志,默認(rèn)參數(shù)
docker?logs?rabbitmq
##查看redis容器日志,參數(shù):-f ?跟蹤日志輸出;-t ??顯示時(shí)間戳;--tail ?僅列出最新N條容器日志;
docker?logs?-f?-t?--tail=20?redis
##查看容器redis從2021年08月10日后的最新10條日志。
docker?logs?--since="2021-08-10"?--tail=10?redis
進(jìn)入當(dāng)前正在運(yùn)行的容器
通常容器使用后臺(tái)的方式運(yùn)行,需要進(jìn)入容器,修改一些配置;
方式一
docker?exec?-it?容器id?bashShell
方式二
docker?attach?容器id?bashShell(/bin/bash)
exec:進(jìn)入容器后,開啟一個(gè)新的終端,可以再里面操作;
attach:進(jìn)入容器正在執(zhí)行的終端,不會(huì)啟動(dòng)新的終端進(jìn)程;
容器內(nèi)拷貝文件到主機(jī)
docker?cp?容器id:容器內(nèi)路徑??目的主機(jī)路徑評(píng)論
圖片
表情
