继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

『中级篇』什么是Container(15)

IT人故事会
关注TA
已关注
手记 399
粉丝 1.7万
获赞 1318

镜像(Image),跟你装操作系统的iso镜像一个概念。容器(Container),就是基于这个镜像启动的操作系统。一个镜像,可以用来在各种地方启动任意多个容器,也就是一个镜像可以装很多个操作系统了。当然,镜像,不一定是操作系统的镜像,也可能是软件的镜像。等你以后明白了,你就知道我这解释也是不完全对的。但是,你可以先这么理解。github源码:https://github.com/limingios/docker.git

什么是Container

  • 通过Image创建的
  • 在Image layer之上建立一个container layer(可读写)
  • 类比面向对象,类和实例,容器就是实例,Image就是类
  • Image负责application的存储和分发,Container负责运行app

Container的操作

下面准备好Image

cd ./labs/helloworld
sudo docker build -t liming/hello-world:latest .

  • 创建
    sudo docker image ls
    sudo docker container ls
    sudo docker run liming/hello-world
    sudo docker container ls
    sudo docker container ls -a

运行上边的命令发现,为什么每次 sudo docker container ls后,里面都是空的,都没有列表呢,因为后台没有运行程序,所以不会常驻内存,所以后面的status = exited 退出的状态。


sudo docker run -it liming/hello-world

增加-it命令,可以让后端进行运行,直接进入容器,新建的状态发生了改变,up 和 exited。通过ls,可以看到里面类似一个linux系统的文件格式。

  • 列表

    sudo docker container ls
  • 删除
    sudo docker rm  容器id

docker的命令分布

  • Management Commands (管理命令)
  • Commands (配合管理的运行命令)

技巧批量删除容器

#只删除退出的
docker rm  $(docker container ls -f "status=exited" -q)
#全部删除
docker rm  $(docker container ls -aq)

命令合集

PS:想玩docker熟悉 命令是首要,这个东西就是多练多实践,慢慢就手到擒来!

往期精彩
往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP