1. 程式人生 > 其它 >Docker常用操作

Docker常用操作

查詢正在執行的容器

docker ps

查詢所有容器

docker ps -a

查詢正在執行的服務(Service)

docker service ls

查詢容器日誌

docker logs xxx #xxx代表容器ID,取前三位即可

停止指定容器

docker stop xxx #xxx代表容器ID,取前三位即可

刪除指定容器

docker rm xxx #xxx代表容器ID,取前三位即可,只能刪除已經停止的容器

批量刪除容器

docker rm $(docker ps -a -q)

批量刪除映象

docker rmi $(docker images -q)

查詢服務(Service)日誌

docker service logs xxx #xxx代表服務ID,取前三位即可

建立swarm 叢集

docker swarm init  --advertise-addr=伺服器IP地址

查詢以管理員加入節點token

docker swarm join-token manager

查詢swarm節點列表

docker node ls

檢視節點詳細資訊

docker node inspect xxx #xxx代表節點ID,取前三位即可

新增節點標籤

docker node update --label-add nodetype=InDrive2 xxx #xxx代表節點ID,取前三位即可
docker node update --label-add nodelabels=Middleware xxx #xxx代表節點ID,取前三位即可

建立swarm網路

docker network create --driver overlay macrowing #macrowing代表網路名詞

Docker新增私有倉庫

新增或編輯檔案:/etc/docker/daemon.json

{
"insecure-registries":["192.168.251.78"],
"registry-mirrors": ["https://registry.docker-cn.com"]
}

重啟docker服務

systemmctl restart docker

Docker Swarm叢集管理節點的提升和降級

檢視叢集節點狀態,僅有一個管理節點

[root@swarm1 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
rlle6k39z3xk82f1wqmjpd4m4 * swarm1 Ready Active Leader 18.03.1-ce
fzi0eoey60bd25cklvt5qg6p5 swarm2 Ready Active 18.03.1-ce
59optctp5n9zvv3lvaifel7bx swarm3 Ready Active 18.03.1-ce
ixqldqaby2jrgfqx7ckjpg0zs swarm4 Ready Active 18.03.1-ce

提升swarm4為管理節點

[root@swarm1 ~]# docker node promote swarm4
Node swarm4 promoted to a manager in the swarm.

降級為工作節點

[root@swarm1 ~]# docker node demote swarm4
Manager swarm4 demoted in the swarm.

Docker-Compose 安裝

sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Portainer安裝

sudo docker volume create portainer_data
sudo docker run -d -p 9000:9000 -l portainer=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

#叢集安裝

curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
docker stack deploy --compose-file=portainer-agent-stack.yml portainer

Harbor映象軟刪除和硬刪除

首先在Harbor的Web管理介面刪除映象/映象倉庫
登入到Harbor伺服器,進入harbor目錄下,執行下面的命令
停止Harbor環境

docker-compose stop

刪除映象

docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect --dry-run /etc/registry/config.yml
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect  /etc/registry/config.yml

啟動Harbor環境

docker-compose start

Keepalived容器

docker run -d --name keepalived --restart=always --net=host --cap-add=NET_ADMIN \
    -e VIRTUAL_IP='192.168.0.82' \
    -e VIRTUAL_ROUTER_ID='51' \
    -e INTERFACE='ens160' \
    -e PRIORITY='100' \
    -e PASSWORD=topsecret \
    -d alterway/keepalived:latest