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

作者: IT人故事会 | 来源:发表于2018-06-14 00:53 被阅读49次

    镜像(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)

    相关文章

      网友评论

        本文标题:『中级篇』什么是Container(15)

        本文链接:https://www.haomeiwen.com/subject/jgvjsftx.html