常用docker 命令

朱治龙
2023-07-01 / 0 评论 / 61 阅读 / 正在检测是否收录...

该文档内容主要用于日常记录,会逐步添加

重启 docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

停止所有运行中的容器

docker ps -q | xargs docker stop

将当前用户添加到docker用户组,那样就不用每次执行docker命令都加sudo

sudo usermod -aG docker $USER

复制容器中的目录到本地:

sudo docker cp  <CONTAINER_ID>:/usr/local/tomcat/webapps/ROOT ./temp

进入容器

sudo docker exec -it mongodb /bin/bash

创建网络

docker network create --driver=bridge --subnet=192.168.0.0/16 bridge_zzl

构建镜像

docker build -f ./Dockerfile.devIstio  -t console-mobile-ui:0.0.1 .

将容器保存为新镜像

sudo docker commit nginxProxyManager zhuzl/nginx-proxy-manager:2.11.1-ssl

将其他仓库的 docker 镜像推送到本地私服

一般用于本地下载外网镜像超级慢的情况,可找台外网的机器 pull,然后 push 到 Docker 私服

docker pull ghcr.io/huolalatech/page-spy-web:release
docker tag ghcr.io/huolalatech/page-spy-web:release xxx.yyy.zhuzhilong.com/apps/page-spy-web:release
docker push xxx.yyy.zhuzhilong.com/apps/page-spy-web:release

删除所有未运行的容器;运行的删除不了

docker rm $(docker ps -a -q)

根据容器的状态删除状态为Exited的容器

docker rm $(docker ps -qf status=exited)

查看docker日志占用情况及日志清理

# /etc/docker/daemon.json 中的 "data-root": "/data/dockerRoot/dataRoot"
sudo ls -lh $(sudo find /data/dockerRoot/dataRoot/containers/ -name *-json.log)
cat /dev/null > /data/dockerRoot/dataRoot/containers/e876d8da919db8905dece519a81ecc182bc918c20397e5212f2b49e06ec03a01/e876d8da919db8905dece519a81ecc182bc918c20397e5212f2b49e06ec03a01-json.log

删除所有tag中带 “none” 关键字的镜像

#!/bin/bash
# docker rmi $(docker images | grep "none" | awk '{print $3}') 
TAG=`docker images | grep none| awk '{print $3}'`

for tag in $TAG
do
  docker rmi -f  $tag
done

exit

使用 prune 命令删除不再使用的 docker 对象。

删除所有未被 tag 标记和未被容器使用的镜像

docker image prune
0

评论 (0)

取消