docker 常用命令
镜像类
docker build --rm=true . 构建镜像
docker pull ${IMAGE} 安装镜像
docker images 显示已经安装的镜像
docker images --no-trunc 显示已经安装镜像的详细内容
docker rmi ${IMAGE_ID} 删除指定镜像
docker rmi $(docker images | grep 'none' | awk '{print $3}') 删除所有没有标签的镜像
docker rm $(docker ps -aq) 删除所有的镜像
docker rmi $(docker images --quiet --filter "dangling=true") 删除未使用的镜像
容器类
docker run 运行容器 docker run -d -p 主机端口1:容器端口1 主机端口2:容器端口2
docker ps 显示正在运行的容器
docker ps -a 显示所有的容器
docker stop ${CID} 停止指定容器
docker stop docker ps -q 停止所有正在运行的容器
docker ps -a --filter "exited=1" 显示所有退出状态为1的容器
docker rm ${CID} 删除指定容器
docker rm -fv ${CID} 彻底清除指定容器
docker ps -a | grep wildfly | awk '{print $1}' | xargs docker rm -f 使用正则表达式删除容器
docker rm -f $(docker ps -a | grep Exit | awk '{ print $1 }') 删除所有退出的容器
docker rm $(docker ps -aq) 删除所有的容器
docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${CID} 显示指定容器的IP
docker attach ${CID} 进入容器
docker exec -it ${CID} bash 进入容器打开一个shell
docker ps | grep wildfly | awk '{print $1}' 通过正则表达式查找容器的镜像ID
docker volume ls 查看所有卷标
docker volume inspect ${vagrant_name} 查看具体的volume对应的真实地址
docker system df -v 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况
docker system prune : 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。
docker system prune -a : 清理得更加彻底,可以将没有容器使用 Docker镜像都删掉。 注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了。
docker-compose up -d
apt-get update
apt-get install net-tools
apt-get install procps
容器清理
docker container prune : 仅删除停止运行的容器。 docker rm -f $(docker ps -aq) : 删除所有容器(包括停止的、正在运行的)。 docker container rm -f $(docker container ls -aq) : 同上。镜像清理
docker rmi :通过镜像的id来删除指定镜像。
有一些镜像是隐形的:
子镜像,就是被其他镜像引用的中间镜像,不能被删除。 悬挂状态的镜像,就是不会再被使用的镜像,可以被删除。其他命令:
docker image ls -f dangling=true : 可以列出所有悬挂状态的镜像 并使用命令 docker image rm $(docker image ls -f dangling=true -q) 或 docker image prune进行删除。 docker image rm $(docker image ls -q) :删除所有镜像。但正在被容器使用的镜像无法删除。数据卷清理
docker volume rm $(docker volume ls -q) :删除不再使用的数据卷。 docker volume prune :同上。缓存清理
Docker 18.09 引入了 BuildKit ,提升了构建过程的性能、安全、存储管理等能力。
docker builder prune :删除 build cache。
一键清理
docker system df -v 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况:
TYPE列出了 Docker 使用磁盘的 4 种类型:
Images :所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。 Containers :运行的容器占用的空间,表示每个容器的读写层的空间。 Local Volumes :容器挂载本地数据卷的空间。 Build Cache :镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。最后的 RECLAIMABLE 是可回收大小。
docker system prune : 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。 docker system prune -a : 清理得更加彻底,可以将没有容器使用 Docker镜像都删掉。 注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了。