当前位置:服务器 > > 正文

docker镜像创建教程(Docker镜像加载原理)

时间:2021-10-07 00:17:15类别:服务器

docker镜像创建教程

Docker镜像加载原理

Docker镜像

镜像是什么?

远程仓库下载

朋友拷贝

自己制作一个镜像 DockerFile

Docker镜像加载原理

UnionFS(联合文件系统)

Docker镜像加载原理

docker镜像创建教程(Docker镜像加载原理)

平时我们安装虚拟机的CentOS都是好几个G,为什么Docker才200M?

docker镜像创建教程(Docker镜像加载原理)

  • [root@docker ~]# docker pull redis 
    Using default tag: latest
    latest: Pulling from library/redis
    69692152171a: Already exists 
    a4a46f2fd7e0: Pull complete 
    bcdf6fddc3bd: Pull complete 
    2902e41faefa: Pull complete 
    df3e1d63cdb1: Pull complete 
    fa57f005a60d: Pull complete 
    Digest: sha256:7e2c6181ad5c425443b56c7c73a9cd6df24a122345847d1ea9bb86a5afc76325
    Status: Downloaded newer image for redis:latest
    docker.io/library/redis:latest
    
  • docker镜像创建教程(Docker镜像加载原理)

    理解分层的含义

    docker镜像创建教程(Docker镜像加载原理) 

    在添加额外的镜像层的同时,镜像始终保持是当前所有镜像的组合,理解这一点非常重要。下图中举了一个简单的例子,每个镜像层包含3个文件,而镜像包含了来自两个镜像层的6个文件。

    docker镜像创建教程(Docker镜像加载原理)

    docker镜像创建教程(Docker镜像加载原理)

    docker镜像创建教程(Docker镜像加载原理)

    分层下载的好处

    假设有些应用的层是相同的,就可以直接复用!

    特点

    docker镜像创建教程(Docker镜像加载原理) 

    Commit镜像

  • docker commit 提交容器成为一个新的副本
    
    docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
    
    #运行一个默认的tomcat镜像
    [root@docker ~]# docker run -it -p 8080:8080  tomcat
    
    [root@docker ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND             CREATED          STATUS          PORTS                                       NAMES
    792ca37197e8   tomcat    "catalina.sh run"   34 seconds ago   Up 32 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   upbeat_mcnulty
    
    [root@docker ~]# docker exec -it 792ca37197e8 /bin/bash
    #发现这个默认的tomcat 是没有webapps应用,是因为镜像的原因,官方的镜像默认webapps下没有文件,自己拷贝进去基本的文件
    root@792ca37197e8:/usr/local/tomcat# cp -r webapps.dist/* webapps
    
    #浏览器访问,测试成功
    http://192.168.100.100:8080/
    
    #提交修改后的容器成为一个新的镜像
    [root@docker ~]# docker commit -a="pakho" -m="add webapps app" 792ca37197e8 tomcat02:1.0
    sha256:d6d429f9d2ba25af8f66bd3e7a7de489cf2219828ea755ce1d0a1a7816c27731
    
    [root@docker ~]# docker images
    REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
    tomcat02              1.0       d6d429f9d2ba   28 seconds ago   672MB
    
  • Docker镜像(Images)总结

    docker镜像创建教程(Docker镜像加载原理)

    以上就是Docker镜像原理的详细内容,更多关于Docker镜像的资料请关注开心学习网其它相关文章!

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐