博客搭建之--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.
一键安装
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
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
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
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)
sudo docker system prune -a
sudo docker volume ls sudo docker volume inspect
sudo du -sh /var/lib/docker/volumes/
sudo docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume rm
/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
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
sudo docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
sudo docker volume rm $(docker volume ls -qf dangling=true)
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
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 许可协议。转载请注明出处!