文章插图
- 一次性删除所有的容器 , 首先运行5个容器 , 然后查看所有的容器(已退出)
文章插图
- 首先通过docker ps -aq 列举出所有的容器ID
docker ps -aq
文章插图
- 然后直接rm命令删除列举出所有的容器ID来删除所有容器 , 需要使用$将以上命令当成一个结果进行删除
docker rm $(docker ps -aq)
文章插图
- 如果所有的容器中存在正在运行的容器以及已退出的容器 , 我只删除已退出的容器 , 这种场景如何实现
文章插图
- 实现以上的场景 , 首先需要获取到所有容器中已退出的容器ID , 通过-f 筛选出容器状态status=exited已退出的容器 , 加上-q参数则表示列举出容器ID , 最后$包住结果 , 执行docker rm删除即可 , 成功实现只删除已退出的容器
文章插图
四、构建自己的Docker Image1.docker container commit(docker commit)
1.1 交互式运行容器
- 交互式运行centos容器 , 在容器中并没有安装vim命令 , 进行安装vim工具
文章插图
- exit退出容器 , 查看所有容器 , 显示交互式运行的容器已退出
文章插图
1.2 将容器commit成一个image
说明:上一步在容器中安装了vim并退出了容器 , 那么在已退出的容器中可以看到该容器 , 现在则需要将这个容器commit成一个镜像 , 这个镜像是基于centos8基础镜像的 , 但是跟centos8基础基础镜像不一样的是它安装了vim
- 通过docker container commit命令实现将容器提交成image , 命令可以简写成docker commit
文章插图
- 执行如下命令 , 生成image镜像 ,
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]docker commit stupefied_fermat cdtaogang/centos-vim:centos8
文章插图
- 查看生成的image
文章插图
- 对比基础image和自己构建的image分层情况 , 很明显比基础centos8镜像多了一层 , 那就是安装vim命令
文章插图
以上创建image的方式不提倡使用 , 因为如果发布该image , 用户拿到该image是不知道该image是如何构建的 , 并且这种方式构建image很有可能把不安全的东西放到image里面发布出去 , 即该image肯定是不安全的
2.docker image build(docker build)
2.1 创建dockerfile
- 首先将上一步中commit容器生成的image删除
文章插图
- 在上一级目录下创建一个目录 , 进入目录创建并编辑dockerfile文件
文章插图
- dockerfile内容如下 , 指定基础镜像为centos:centos8版本 , 在基础镜像中运行安装vim命令
文章插图
2.2 通过dockerfile构建出image
- 执行docker build命令以当前路径下的dockerfile构建出
推荐阅读
- 巧用批处理工具分析monkey日志
- 脸部长斑怎样调理
- 做完眉毛用生理盐水洗
- 护理和护士有什么区别?
- 无线充电是什么原理?
- 怎么做微商代理?
- 马克思主义的基本原理是什么?
- π是有理数还是无理数?
- 田螺怎么处理才干净?
- 人类能不能用声音震碎玻璃杯?