原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『中级篇』什么是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)
命令合集
个人主页:
IT人故事会
PS:想玩docker熟悉 命令是首要,这个东西就是多练多实践,慢慢就手到擒来!
回贴