“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情”
查看所有镜像
docker images
查看所有运行中的容器
docker ps
查看所有容器
docker ps -a
删除镜像
docker rmi [IMAGE ID]
删除容器
docker rm [CONTAINTER ID]
启动所有容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
停止所有容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
重启所有容器
docker restart $(docker ps -a | awk '{ print $1}' | tail -n +2)
删除所有容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
删除所有镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
更新镜像自启动参数
docker container update --restart=always 容器名字
更新所有镜像自启动参数
docker container update --restart=always $(docker ps -a | awk '{ print $1}' | tail -n +2)
批量删除Tag为的无用镜像
Linux
docker images|grep none|awk '{print $3}'|xargs docker rmi
Windows版(用PowerShell执行)
docker rmi -f $(docker images --filter “dangling=true” -q --no-trunc)
Docker日志
基本语法
docker logs [OPTIONS] [CONTAINER ID]
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
查看指定时间后的日志,只显示最后100行
docker logs -f -t --since="2020-02-12" --tail=100 [CONTAINER_ID]
查看最近30分钟的日志
docker logs --since 30m [CONTAINER_ID]
查看某时间段日志
docker logs -t --since="2020-02-14 14:00:00" --until "2020-02-14 15:59:59" [CONTAINER_ID]
Docker镜像的导出/导入
导出docker镜像
docker save <repository>:<tag> -o <repository>.tar
导入镜像
Windows
docker load [IMAGE ID] < c:\repository.tar
Linux
docker load -i /home/repository.tar
使用远程镜像仓库
登录远程仓库(需要先修改本地daemon.json文件授权信任,不然提示权限不足)
docker login [镜像仓库Ip]
将本地镜像重新打远程仓库的标签Tag
标签打到本地
docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker image tag SOURCE_IMAGE[:TAG] [镜像仓库Ip]/TARGET_IMAGE[:TAG]
推送镜像到远程仓库
docker push [镜像仓库Ip]/SOURCE_IMAGE[:TAG]
拉取远程仓库镜像
docker pull [镜像仓库Ip]/SOURCE_IMAGE[:TAG]
查看Docker磁盘信息
docker system df
查看Docker目录占用空间大小
du -hs /home/allspark/docker/lib/docker
docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
docker system prune docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker 镜像。