编辑
2022-09-17
运维开发
00
请注意,本文编写于 263 天前,最后修改于 45 天前,其中某些信息可能已经过时。

目录

安装Docker
配置镜像源(腾讯)
更换Docker存储卷位置
启动
设置开机自启动
查看docker内容器
查询镜像
查看镜像版本
查看版本/基本信息
拉取镜像
查看已下载镜像
删除镜像
查看容器
查看容器运行状态,相当于top
开启容器
关闭容器
重启容器
删除容器
连接容器(正在运行)
连接容器(正在运行)
退出(默认直接关闭)
删除所有容器
删除所有镜像
清理docker磁盘
查看挂在目录
查看volumes目录大小
清理volumes目录下不同的volume
查看清理后的volumes目录大小
容器清理
镜像清理
查看所有docker存储卷
删除所有关闭的容器:
删除所有dangling镜像(即无tag的镜像):
删除所有dangling数据卷(即无用的Volume):
docker镜像自动更新
查看docker日志
启动镜像
关闭

博客搭建之--Docker学习笔记

最近又有时间研究自己的博客了,作为一个DBA,对容器部署基本不感兴趣的,但是有一些应用,或者试验环境,用Docker搭建真的很方便,很容易维护,这不,要恶补补容器知识了,这里只记录下常用的运维语句吧,后面再研究怎么优化配置,打包自己镜像。

官方介绍: Docker uses a client-server architecture. The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers. The Docker client and daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface. Another Docker client is Docker Compose, that lets you work with applications consisting of a set of containers.

官方文档地址

安装Docker

一键安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

yum方式

# 镜像源配置 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 国内:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装 sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

配置镜像源(腾讯)

mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://mirror.ccs.tencentyun.com"] } EOF

更换Docker存储卷位置

19.xx 之前

sudo vim /etc/docker/daemon.json { "registry-mirrors": ["https://hub.docker.com/"], "graph":"/app/docker", "live-restore": true }

19.xx 之后

sudo vim /etc/docker/daemon.json { "registry-mirrors": ["https://hub.docker.com/"], "data-root":"/app/docker", "live-restore": true }

启动

sudo systemctl start docker sudo systemctl daemon-reload sudo systemctl restart docker

设置开机自启动

sudo systemctl enable docker sudo systemctl start docker

查看docker内容器

sudo docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}\t{{.Status}}"

查询镜像

sudo docker search mongo

查看镜像版本

curl https://registry.hub.docker.com/v1/repositories/${docker_img}/tags | python3 -m json.tool | more curl https://registry.hub.docker.com/v1/repositories/elasticsearch/tags| tr -d '[\[\]" ]' | tr '}' '\n'| awk -F: -v image='elasticsearch' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'

查看版本/基本信息

sudo docker -v sudo docker info

拉取镜像

sudo docker pull apache/incubator-doris:build-env-1.2

查看已下载镜像

sudo docker images

删除镜像

sudo docker rmi apache/incubator-doris:build-env-1.2

查看容器

sudo docker container ls -all

查看容器运行状态,相当于top

sudo docker stats sudo docker top {id}

开启容器

sudo docker start doris-014

关闭容器

sudo docker stop doris-014

重启容器

sudo docker restart doris-014

删除容器

sudo docker rm doris-014

连接容器(正在运行)

sudo docker attach doris-014

连接容器(正在运行)

sudo docker exec -it 容器ID /bin/bash

退出(默认直接关闭)

sudo exit

删除所有容器

sudo docker rm $(docker ps -a -q)

删除所有镜像

sudo docker rmi $(docker images -q)

清理docker磁盘

sudo docker system prune -a

查看挂在目录

sudo docker volume ls sudo docker volume inspect

查看volumes目录大小

sudo du -sh /var/lib/docker/volumes/

清理volumes目录下不同的volume

sudo docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume rm

查看清理后的volumes目录大小

/var/lib/docker/tmp清理 有一次制作镜像,一口气后台制作8个镜像,结果,tmp目录瞬间涨到12G。虚机硬盘分配的空间不大,导致了磁盘爆满,还好能直接删除tmp目录下所有的文件目录。

容器清理

sudo docker ps --filter status=dead --filter status=exited -aq | xargs -r sudo docker rm -v

镜像清理

sudo docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r sudo docker rmi

查看所有docker存储卷

sudo docker system df sudo docker system prune sudo docker system prune -a

删除所有关闭的容器:

sudo docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

删除所有dangling镜像(即无tag的镜像):

sudo docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

删除所有dangling数据卷(即无用的Volume):

sudo docker volume rm $(docker volume ls -qf dangling=true)

docker镜像自动更新

sudo docker pull containrrr/watchtower sudo docker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --cleanup \ --schedule "0 0 4 * * *" \ --include-restarting

查看docker日志

sudo docker logs --tail=1000 容器名称 sudo docker-compose -f docker-compose-app.yml logs -f sudo docker compose -f docker-compose.yml logs -f

启动镜像

sudo docker-compose up -d

关闭

sudo docker-compose down

本文作者:wangcw

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!