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

镜像(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熟悉 命令是首要,这个东西就是多练多实践,慢慢就手到擒来!

>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:『中级篇』什么是Container(15)
上一篇: 下一篇:

评论 (2)

  • daybreak| 2019年3月5日

    命令合集里面的端口映射说明反了

  • 发表评论

    电子邮件地址不会被公开。 必填项已用*标注