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:网卡

浙公网安备 33010602011771号