溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker命令匯總

發(fā)布時間:2020-06-03 18:32:33 來源:網(wǎng)絡(luò) 閱讀:431 作者:warrent 欄目:云計算

一、Docker的基礎(chǔ)命令

[root@node02 ~]# docker volume prune -f           #刪除無主的數(shù)據(jù)卷
#在運行容器時,-v掛載目錄時沒有指定本地要掛載的目錄,而是由docker管理的,
#當(dāng)容器刪除后,這些目錄并不會被刪除,此時這種目錄就是無主數(shù)據(jù)卷。
#若要在刪除容器時,同時刪除這些數(shù)據(jù)卷,可以使用以下命令(添加“-v”選項即可):
[root@node02 ~]# docker rm -f -v 8086        #其中8086為容器ID
[root@master volumes]# docker container prune -f       #清理掉所有處于終止?fàn)顟B(tài)的容器。
[root@localhost ~]# docker search dhcp     #以DHCP作為關(guān)鍵字進行搜索鏡像
[root@localhost ~]# docker pull docker.io/networkboot/dhcpd           #下載查詢出來的某個鏡像
[root@localhost ~]# docker images      #查詢下載的鏡像
[root@localhost ~]# docker tag docker.io/networkboot/dhcpd dchp:dhcp    #改新名稱及標(biāo)簽
[root@localhost ~]# docker rmi docker.io/networkboot/dhcpd    #刪除鏡像
[root@localhost ~]# docker save -o dhcptest dchp:dhcp      #導(dǎo)出為本地鏡像
[root@localhost ~]# docker load --input dhcp     #導(dǎo)入鏡像
#或者
[root@localhost ~]# docker load < dhcp     #導(dǎo)入鏡像
[root@docker ~]# docker save > dhcp busybox:latest    #導(dǎo)出鏡像busybox
[root@localhost ~]# docker push docker.io/ljztest/dhcp      #上傳鏡像
[root@localhost ~]# docker create -itd dchp:dhcp /bin/bash     #創(chuàng)建一個容器,并指定偽終端
#選項解釋如下:
* -i:交互式
* -t:分配一個為終端
* -d:后臺運行
[root@docker ~]# docker run -itd --name test2 --restart=always httpd    #保持容器處于開機自啟狀態(tài)
#作用是可以在執(zhí)行“systemctl restart docker”時,使容器也隨之重啟;
#若不加--restart,那么一旦執(zhí)行“systemctl restart docker”,這個容器將會停止。
[root@localhost ~]# docker ps -a                #查出容器的ID號
[root@localhost ~]# docker exec -it 2304f92a8158 /bin/bash     #進入一個容器
[root@docker ~]# docker attach test1   #也是進入一個容器
#如果是attach進入容器,使用exit退出的話這個容器也會關(guān)閉。
#使用ctrl+p  ctrl+q退出容器,并不會關(guān)閉這個容器,會保持容器的運行狀態(tài)。
[root@docker ~]# docker ps -a -q | xargs docker start    #開啟所有容器
[root@docker ~]# docker ps -a -q | xargs docker stop    #關(guān)閉所有容器
[root@docker ~]# docker logs test1  #查看容器的日志,可以在后面加“-f”選項,動態(tài)輸出
[root@docker ~]# docker ps -a -q | xargs docker rm -f      #刪除所有容器,威力不亞于rm  -rf  /*
[root@localhost ~]# docker ps -a -q | xargs docker start    #啟動所有容器
[root@localhost ~]# docker rm 2304f92a8158          #刪除容器
[root@docker ~]# docker run -it --name containerB -c 512 centos
#創(chuàng)建一個名為containerB的容器,設(shè)置其CPU的權(quán)重為512
[root@docker ~]# docker run -it --name testA --device-write-bps /dev/sda:30MB centos
#限制磁盤的每秒可以寫入的大小為30MB
#其中還可以有以下選項:
#--device-read-bps:設(shè)置讀設(shè)備的bps
#--device-write-bps:設(shè)置寫入設(shè)備的bps
#--device-read-iops:設(shè)置讀取設(shè)備的iops
#--device-write-iops:設(shè)置寫入設(shè)備的iops。
[root@docker lv]# docker history test04:latest      #如果使用Dockerfile制作鏡像,可以使用這條命令查看這個鏡像都做過什么
[root@docker ~]# docker logs web01       #查看容器的日志,可以加“-f”選項,動態(tài)刷新。
[root@docker ~]# docker commit web01 mytest:v1.0     #將容器制作為鏡像
[root@docker ~]# docker cp /a.txt web01:/usr         #將本機的文件復(fù)制到容器中
[root@docker ~]# docker cp web01:/usr/a.txt /usr    #將容器中的文件復(fù)制到本機中

二、docker網(wǎng)絡(luò)管理相關(guān)的命令:

[root@docker ~]# docker network ls      #查看docker的網(wǎng)絡(luò)
[root@docker ~]# brctl show         #專用于查看虛擬網(wǎng)絡(luò)  
[root@docker ~]# docker exec web ip a    #查看某個指定容器的網(wǎng)絡(luò)信息
[root@docker ~]# docker network create -d bridge my_net       #創(chuàng)建一個docker的網(wǎng)絡(luò),-d:指定驅(qū)動類型
[root@docker ~]# docker network create -d bridge --subnet 172.22.0.0/24 my_net2   #創(chuàng)建網(wǎng)絡(luò)時,指定網(wǎng)段
[root@docker ~]# docker network inspect my_net2    #查看這個網(wǎng)絡(luò)的詳細(xì)信息
[root@docker ~]# docker inspect web05       #查看容器的詳細(xì)信息
[root@docker ~]# docker inspect web05       #查看容器的詳細(xì)信息
[root@docker ~]# docker run -tid --name web07 --network my_net2 --ip 172.22.0.8 busybox    #啟動容器時,一并指定IP地址。
[root@docker ~]# docker exec web03 ping 172.17.0.3     #不進入虛擬機執(zhí)行ping命令。
[root@docker ~]# iptables-save         #查看iptables規(guī)則
[root@docker ~]# docker network connect my_net web001  
#將web001連接至my_net網(wǎng)絡(luò),執(zhí)行后web001將會多出一塊網(wǎng)卡,并具有my_net網(wǎng)絡(luò)的IP地址。

三、docker Swarm群集常用命令

[root@docker01 ~]# docker node ls    #查看群集的信息(只可以在manager角色的主機上查看)
[root@docker01 ~]# docker swarm join-token worker      #如果后期需要加入worker端,可以執(zhí)行此命令查看令牌(也就是加入時需要執(zhí)行的命令)
[root@docker01 ~]# docker swarm join-token manager         #同上,若要加入manager端,則可以執(zhí)行這條命令查看令牌。
[root@docker01 ~]# docker service scale web05=6    #容器的動態(tài)擴容及縮容
[root@docker01 ~]# docker service ps web01       #查看創(chuàng)建的容器運行在哪些節(jié)點
[root@docker01 ~]# docker service ls        #查看創(chuàng)建的服務(wù)
#將docker03脫離這個群集
[root@docker03 ~]# docker swarm leave        #docker03脫離這個群集
[root@docker01 ~]# docker node rm docker03         #然后在manager角色的服務(wù)器上移除docker03
[root@docker01 ~]# docker node promote docker02    #將docker02從worker升級為manager。
#升級后docker02狀態(tài)會為Reachable
[root@docker01 ~]# docker node update --availability drain docker01
#設(shè)置主機docker01以后不運行容器,但已經(jīng)運行的容器并不會停止

———————— 本文至此結(jié)束,感謝閱讀 ————————

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI