少用的 - 容器管理

  • 作者:KK

  • 发表日期:2019.09.16


构建容器

docker build -t 镜像名称根据当前目录下的Dockerfile文件的内容构建一个指定名称的镜像


容器执行

我执行容器的命令是如下:

docker run -p 127.0.0.1:5000:5000 --rm -it --name kkt -v G:\pj\release_server:/data/www:rw kk8686/release-server /bin/sh

就是-p后面带上IP:主机端口:容器端口,说明把宿主机的哪个端口与容器的哪个端口进行绑定。

-rm就是当终止容器的时候,自动把容器删除掉不要残留。

-it是开启终端功能并接受键盘输入。

--name kkt是起一个容器名字,相当于实例变量名,kkt就是那个名字。

-v G:\pj\release_server:/data/www:rw 是挂载数据卷目录的路径,把宿主机的哪个目录挂载到容器的哪个目录。

kk8686/release-server是镜像名称。

/bin/sh是要执行的命令,这里是开启一个shell程序


批量删除容器

先通过以下命令将一些涉及某个镜像的容器信息输出到文件

docker ps -a --filter "ancestor=镜像名称" > 1.txt

Windows下行执行这句来批量删除for /f %a in (1.txt) do docker rm %a

Linux下我有空再看看shell怎么写,暂时还没在 windows 下有这个操作需求。


查询所有已经构造了容器的镜像名称

docker ps -a --format '{{.Image}}' 原理就是通过ps -a查看所有容器(包括运行中、停止运行的),在这些列表里过滤出镜像名称


重命名镜像

docker name1 name2就是把 name1 的镜像重命名为 name2

比如我 build 的时候忘记命名镜像了,就会这样:docker d8572b45fab6 kk/nwe-image-tag