docker批量操作

116 阅读1分钟

从dockerfile 创建镜像

sudo docker build -t mylamp/test /home/user/Docker/mylamp_test/

上例中,dockerfile存在于 /home/shen/Docker/mylamp_test/,镜像tag为mylamp/test

参数

 -t, --tag=            Repository name (and optionally a tag) for the image

删除镜像

先删除所有依赖容器,再删除镜像。

后面跟上标签或ID,跟标签会先删除标签(untag),如果没有标签指向镜像,就删除(delete)镜像。

跟ID,删除所有相关标签(untag),再删除(delete)镜像。

sudo docker rmi 2318

sudo docker rmi ubuntu

删除所有未打 dangling 标签的镜像
docker rmi $(docker images -q -f dangling=true)


删除所有镜像
docker rmi $(docker images -q)


强制删除镜像名称中包含“doss-api”的镜像
docker rmi --force $(docker images | grep doss-api | awk '{print $3}')\

查询所有容器

sudo docker ps -a

删除容器

sudo docker rm e81

批量操作容器

停止正在运行的容器

sudo docker stop $(sudo docker ps -q)

删除(已经停止的,正在运行的不能删除)容器

sudo docker rm $(sudo docker ps -a -q)

要获取所有容器名称及其IP地址只需一个命令。

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)