Docker 命令總結

1、Docker的基礎命令node

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

2、docker網絡管理相關的命令:web

[root@docker ~]# docker network ls      #查看docker的網絡
[root@docker ~]# brctl show         #專用於查看虛擬網絡  
[root@docker ~]# docker exec web ip a    #查看某個指定容器的網絡信息
[root@docker ~]# docker network create -d bridge my_net       #建立一個docker的網絡,-d:指定驅動類型
[root@docker ~]# docker network create -d bridge --subnet 172.22.0.0/24 my_net2   #建立網絡時,指定網段
[root@docker ~]# docker network inspect my_net2    #查看這個網絡的詳細信息
[root@docker ~]# docker inspect web05       #查看容器的詳細信息
[root@docker ~]# docker inspect web05       #查看容器的詳細信息
[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     #不進入虛擬機執行ping命令。
[root@docker ~]# iptables-save         #查看iptables規則
[root@docker ~]# docker network connect my_net web001  
#將web001鏈接至my_net網絡,執行後web001將會多出一塊網卡,並具備my_net網絡的IP地址。

3、docker Swarm羣集經常使用命令docker

[root@docker01 ~]# docker node ls    #查看羣集的信息(只能夠在manager角色的主機上查看)
[root@docker01 ~]# docker swarm join-token worker      #若是後期須要加入worker端,能夠執行此命令查看令牌(也就是加入時須要執行的命令)
[root@docker01 ~]# docker swarm join-token manager         #同上,若要加入manager端,則能夠執行這條命令查看令牌。
[root@docker01 ~]# docker service scale web05=6    #容器的動態擴容及縮容
[root@docker01 ~]# docker service ps web01       #查看建立的容器運行在哪些節點
[root@docker01 ~]# docker service ls        #查看建立的服務
#將docker03脫離這個羣集
[root@docker03 ~]# docker swarm leave        #docker03脫離這個羣集
[root@docker01 ~]# docker node rm docker03         #而後在manager角色的服務器上移除docker03
[root@docker01 ~]# docker node promote docker02    #將docker02從worker升級爲manager。
#升級後docker02狀態會爲Reachable
[root@docker01 ~]# docker node update --availability drain docker01
#設置主機docker01之後不運行容器,但已經運行的容器並不會中止
相關文章
相關標籤/搜索