码迷,mamicode.com
首页 > 其他好文 > 详细

Docker images

时间:2018-08-04 12:35:14      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:标签   shadow   system   发布   没有   bash   -o   分享图片   12c   

  • Docker 码头工人

    Docker中镜像可理解为:应用程序的集装箱

  • Docker Images

  •     Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器

            采用分层构建机制,最底层为bootfs,其之为rootfs

                bootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源


        注意:当删除容器时,这个容器自有的“可写”层会一起被删除


        Aufs

            Advanced multi-layered unification filessystem:高级多层统一文件系统

        技术分享图片

    • Docker Registry

        启动容器时,docker daemon会试图从本地获取相关的镜像;本地镜像不存在时,其将从Registry中下载该镜像并保存到本地;

        注意:Registry如果没有指定,只给了仓库名和tag,则默认使用的是Docker hub;如果指向别的Registry需要修改配置给明服务器地址

            除了Docker Hub还有其他镜像仓库,如:https://quay.io/

                技术分享图片

        Docker Registry分类

            Sponsor Registry:第三方的registry,供客户和Docker社区使用

            Mirror Registry:第三方的registry,只让客户使用

            Vendor Registry:由发布Dcoker镜像的供应商提供的registry

            Private Registry:通过设有防火墙和额外的安全层的私有实体提供的registry

        Docker Hub

            功能:

                镜像仓库

                自动构建;web构子

                组织

                GitHub和Bitbucket

    • 制作镜像

        Dockerfile

        基于容器制作

        Docker Hub automated builds

        技术分享图片

    基于容器制作容器

        简单示例1:让Busybox容器启动时就有index.html网页文件;

                使用docker commit命令

    [root@centos17 ~]#docker run --name b1 -it busybox
    WARNING: IPv4 forwarding is disabled. Networking will not work.
    / # 
    / # mkdir -p /data/html
    / # echo "Busybox httpd server." > /data/html/index.html

                注意:制作容器时让容器处理运行状态所以在另外一个终端执行:

    [root@centos17 ~]#docker commit -p b1 
    sha256:db1dfc89367ed1899e85665d6c069e778d66a2cd590d969e761bed77b67cfa23
    [root@centos17 ~]#docker image ls
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    <none>              <none>              db1dfc89367e        7 seconds ago       1.16MB    制作好的容器
    nginx               alpine              36f3464a2197        10 days ago         18.6MB
    busybox             latest              22c2dd5ee85d        2 weeks ago         1.16MB
    redis               4.0-alpine          80581db8c700        3 weeks ago         28.6MB
    centos              latest              49f7960eb7e4        2 months ago        200MB

                可使用docker tag命令来给镜像打标签;一个镜像可打多个标签

    [[root@centos17 ~]#docker tag db1dfc89367e liuyutang/httpd:v0.1-1
    [root@centos17 ~]#docker image ls
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    liuyutang/httpd     v0.1-1              db1dfc89367e        3 minutes ago       1.16MB
    nginx               alpine              36f3464a2197        10 days ago         18.6MB
    busybox             latest              22c2dd5ee85d        2 weeks ago         1.16MB
    redis               4.0-alpine          80581db8c700        3 weeks ago         28.6MB
    centos              latest              49f7960eb7e4        2 months ago        200MB
    [root@centos17 ~]#docker tag liuyutang/httpd:v0.1-1 liuyutang/httpd:latest
    [root@centos17 ~]#docker image ls
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    liuyutang/httpd     latest              db1dfc89367e        5 minutes ago       1.16MB
    liuyutang/httpd     v0.1-1              db1dfc89367e        5 minutes ago       1.16MB
    nginx               alpine              36f3464a2197        10 days ago         18.6MB
    busybox             latest              22c2dd5ee85d        2 weeks ago         1.16MB
    redis               4.0-alpine          80581db8c700        3 weeks ago         28.6MB
    centos              latest              49f7960eb7e4        2 months ago        200MB

                删除标签

    [root@centos17 ~]#docker image rm liuyutang/httpd:latest
    Untagged: liuyutang/httpd:latest

              启动制作好的容器;可以看到我们刚才写的页面文件存在;容器制作成功 

    [root@centos17 ~]#docker run --name t1 -it liuyutang/httpd:v0.1-1
    WARNING: IPv4 forwarding is disabled. Networking will not work.
    / # ls /data/
    html
    / # ls /data/html/
    index.html
    / # cat /data/html/index.html 
    Busybox httpd server.
    / #

            示例2:使用Busybox做为基础镜像,实现容器启动时默认运行httpd,并且在制作镜像时一起打标签;

            

    [root@centos17 ~]#docker commit -a "liuyutang <lyt0688@qq.com>" -c 'CMD ["/bin/httpd","-f","-h","/data/html"]' -p b1 liuyutang/httpd:v0.2
    sha256:f394f28026ff01f0bbdceb665b8e18a26c9a43a9c12cc57e4f895808f52e5f36
    [root@centos17 ~]#docker image ls
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    liuyutang/httpd     v0.2                f394f28026ff        4 seconds ago       1.16MB
    liuyutang/httpd     latest              db1dfc89367e        21 minutes ago      1.16MB
    liuyutang/httpd     v0.1-1              db1dfc89367e        21 minutes ago      1.16MB
    nginx               alpine              36f3464a2197        10 days ago         18.6MB
    busybox             latest              22c2dd5ee85d        2 weeks ago         1.16MB
    redis               4.0-alpine          80581db8c700        3 weeks ago         28.6MB
    centos              latest              49f7960eb7e4        2 months ago        200MB


    Docker images

    标签:标签   shadow   system   发布   没有   bash   -o   分享图片   12c   

    原文地址:http://blog.51cto.com/10461810/2154362

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!