Document

Docker常用操作

容器相关

#查询正在运行的容器
docker ps
    
#查询所有容器
docker ps -a

#查询容器日志
docker logs xxx #xxx代表容器ID,取前三位即可
docker logs -f xxx #实时输出日志

#停止指定容器
docker stop xxx #xxx代表容器ID,取前三位即可
    
#删除指定容器
docker rm xxx #xxx代表容器ID,取前三位即可,只能删除已经停止的容器

#批量删除容器
docker rm $(docker ps -a -q) #只能删除已经停止的容器

#查询所有容器内部IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

服务相关(service)

#查询正在运行的服务
docker service ls

#查询服务日志
docker service logs 服务名/ID

#实时输出服务日志
docker service logs -f 服务名/ID

镜像相关

#批量删除镜像
docker rmi $(docker images -q) #只能删除不在使用的镜像

#批量强制删除镜像,适用于有标签存在None的镜像
docker rmi -f $(docker images -q)

swarm集群相关

#创建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=InDrive 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
#VIRTUAL_IP:VIP  
#VIRTUAL_ROUTER_ID:权重值  
#INTERFACE:网卡  
posted @ 2021-06-21 12:23  lsepi  阅读(204)  评论(0)    收藏  举报