Docker 命令的奇淫怪巧
记录一些docker的日常命令,持续更新
dangling images
build 自己的 docker 镜像的时候,有时会遇到用一个甚至多个中间层镜像,这会一定程度上减少最终打包出来 docker 镜像的大小,但是会产生一些tag 为 none 的无用镜像,也称为悬挂镜像 (dangling images
)
列出所有的 dangling images:
docker images -f "dangling=true"
删除所有的 dangling images:
docker rmi $(docker images -f "dangling=true" -q)
批量操作
当服务器重启或者因故关机时,docker 容器可能需要全部重新启动,启动所有 docker 容器
注:如果有依赖关系,如 link 等,应该先启动这些被依赖的容器
docker start $(docker ps -aq)
停止所有 docker 容器
docker stop $(docker ps -aq)
删除所有 docker 容器
docker rm $(docker ps -aq)
删除所有 docker 镜像
docker rmi $(docker images -q)
docker 资源清理
docker container prune # 删除所有退出状态的容器docker volume prune # 删除未被
docker容器磁盘占用查看
docker ps -a --size
可以查看当前容器所占用的磁盘空间
docker system df
查询不太准确
Docker 创建容器后再修改 hostname
我有一个叫xiot-medical-modules-platform-service
容器需要修改hostname
查看容器配置文件在宿主机上的位置
通过docker inspect cd34b7cbdea1| grep Host
获取到文件在/var/lib/docker/containers/cd34b7cbdea17e2ba95e3f4d0e6aabd5c4da476fdb29da88976d78e7ca565e2b
[root@nacos1 ~]# docker inspect cd34b7cbdea1| grep Host
"HostnamePath": "/var/lib/docker/containers/cd34b7cbdea17e2ba95e3f4d0e6aabd5c4da476fdb29da88976d78e7ca565e2b/hostname",
关闭容器、关闭 docker 服务
docker stop cd34b7cbdea1
systemctl stop docker
systemctl stop docker.socket
进入该容器所在配置文件所在宿主机文件夹
搜索原 hostname
grep cd34b7cbdea1 *
可以看到我们需要修改3个地方,文件分别是 config.v2.json、hostname、hosts
三个文件