精华内容
下载资源
问答
  • docker中容器镜像关系是什么?docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。容器是由镜像实例化而来。 也可以说,镜像是文件,容器是进程。容器是基于镜像创建的,...

    docker中容器和镜像的关系是什么?docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。容器是由镜像实例化而来。

    也可以说,镜像是文件,容器是进程。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。

    docker中容器和镜像的关系

    docker 的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

    docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。

    docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

    docker中容器和镜像的关系

    在Docker的生命周期中,最核心的两个部分,一个是镜像 Images,一个是容器 Containers。镜像运行起来就是容器。容器服务运行的过程中,基于原始镜像做了改变,比如安装了程序,添加了文件,也可以提交回去 (commit)成为镜像。

    如果大家安装过系统,镜像有点像 GHOST镜像,从 GHOST镜像安装一个系统,运行起来,就相当于容器;容器里面自带应用,就像 GHOST镜像安装的系统里面不是裸的操作系统,里面可能安装了一些软件。安装好的系统使用过程中又安装了其他软件,或者下载了文件,还可以将这个系统重新 GHOST成一个镜像,当其他人通过这个镜像再安装系统的时候,则其他的软件也就自带了。

    普通的 GHOST镜像就是一个文件,但是管理不方便。比如如果有几十个 GHOST镜像的话,你可能已经记不清楚哪个镜像里面安装了哪个版本的软件了。所以容器镜像有 tag的概念,就是一个标签,比如 dev-1.0,dev-2.0,production-1.1等,能够帮助你区分不同的镜像都可以。

    为了镜像的统一管理,有一个镜像库的东西,可以通过 push将本地的镜像放到统一的镜像库中保存,可以通过 pull将镜像库中的镜像拉到本地来。

    展开全文
  • 文章目录Docker容器与镜像关系镜像的 layer镜像视角容器的layer容器的视角容器与镜像的底层关系容器的运行容器提交 – docker commit作用:命令格式:命令参数(OPTIONS):容器打包的导入 – docker import作用:...

    Docker容器与镜像的关系

    在这里插入图片描述

    镜像的 layer

    在这里插入图片描述

    镜像视角

    在这里插入图片描述

    容器的layer

    在这里插入图片描述

    在这里插入图片描述

    容器的视角

    在这里插入图片描述

    容器与镜像的底层关系

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LZ9QtbB-1611933796531)(http://note.youdao.com/yws/res/7919/64F2C806679D484BB9708359CF4F2CD6)]

    容器的运行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BThfqD2g-1611933796534)(http://note.youdao.com/yws/res/7922/7827CB9D65084D84B9347DC6C720D6E8)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cmOK2M4M-1611933796537)(http://note.youdao.com/yws/res/7923/F0358D4FF27A471D81C03B3503B4FC44)]

    容器提交 – docker commit

    作用:

    根据容器生成一个新的镜像

    命令格式:

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    

    命令参数(OPTIONS):

    • -a, --author string 作者
    • -c, --change list 为创建的镜像加入Dockerfile命令
    • -m, --message string 提交信息,类似git commit -m
    • -p, --pause 提交时暂停容器 (default true)

    容器打包的导入 – docker import

    作用:

    • 从一个tar文件中导入内容创建一个镜像

    命令格式:

    docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
    

    命令参数(OPTIONS):

    • -c, --change list 为创建的镜像加入Dockerfile命令
    • -m, --message string 导入时,添加提交信息

    容器导出 – docker export

    作用:

    将容器当前的文件系统导出成一个tar文件

    命令格式:

    docker export [OPTIONS] CONTAINER
    

    命令参数(OPTIONS):

    • -o, --output string 指定写入的文件,默认是STDOUT

    docker commit 和 docker import 对比

    • docker commit 会保存联合文件系统的每层,能看到修改记录(history)
    • docker import 会合并联合文件系统的所有层,变成一层,看不到历史修改记录
    展开全文
  • Docker容器与镜像关系及安装

    千次阅读 2018-11-22 22:00:34
    用户基于镜像来运行自己的容器镜像也是 Docker 生命周 期中的“构建”部分。也可以将镜像当作容器的“源代码”。镜像体积很小,非常“便携”,易于分享、存储和更新。 二、什么是Docker容器容器是基于镜像...

    一、什么是Docker镜像?

    镜像是构建 Docker 的基石。用户基于镜像来运行自己的容器。镜像也是 Docker 生命周 期中的“构建”部分。也可以将镜像当作容器的“源代码”。镜像体积很小,非常“便携”,易于分享、存储和更新。

    二、什么是Docker容器?

    容器是基于镜像启动起来的,容器中可以运行一个或多个进程。我们可以认为,镜像是Docker生命周期中的构建或者打包阶段,而容器则是启动或者执行阶段。 容器基于镜像启动,一旦容器启动完成后,我们就可以登录到容器中安装自己需要的软件或者服务。

    Docker 借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker 将这个模 型运用到自己的设计中,唯一不同的是:集装箱运输货物,而 Docker 运输软件。和集装箱一样,Docker 在执行上述操作时,并不关心容器中到底装了什么,它不管是 web 服务器,还是数据库,或者是应用程序服务器什么的。所有的容器都按照相同的方式将 内容“装载”进去。

    三、Docker安装于操作

     1.在Ubuntu中安装Docker
    sudo apt-key add gpg☞显示OK
    sudo dpkg -i docker-ce_17.03.2~ce-0~ubuntu-xenial_amd64.deb
    1.1检查Docker CE是否安装正确
    sudo docker run hello-world

    1.2为了避免每次命令都输入sudo,可以设置用户权限,需要重新进入终端,不行的话需要重启ubuntu
    sudo usermod -a -G docker $USER


    2.启动与停止
    安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令
    # 启动docker☞sudo service docker start
    # 停止docker☞sudo service docker stop
    # 重启docker☞sudo service docker restart


    3.docker镜像操作
    列出镜像
    sudo docker image ls
    REPOSITORY:镜像所在的仓库名称
    TAG:镜像标签
    IMAGEID:镜像ID
    CREATED:镜像的创建日期(不是获取该镜像的日期)
    SIZE:镜像大小
    拉取镜像☞sudo docker image pull library/镜像名
    由于 Docker 官方提供的 image 文件,都放在library组里面,所以它的是默认组,可以省略
    删除镜像
    sudo docker image rm ☞镜像名或镜像id


    4.docker容器操作
    4.1创建容器
    sudo docker run [option] 镜像名 [向启动容器中传入的命令]
    常用可选参数说明:
    -i 表示以“交互模式”运行容器
    -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
    --name 为创建的容器命名
    -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
    -d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
    -p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
    -e 为容器设置环境变量
    --network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
    创建一个交互式容器,并命名为myubuntu(若当前没有你指定的镜像,会自动为你拉取)
    ☞sudo docker run -it --name=myubuntu ubuntu /bin/bash
    创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。
    ☞sudo docker run -dit --name=myubuntu2 ubuntu
    4.2查看容器
    列出本机正在运行的容器☞sudo docker container ls

     列出本机所有容器,包括已经终止运行的☞sudo docker container ls --all
    4.3进入已运行的容器
    sudo docker exec -it 容器名或容器id /bin/bash

    4.4停止与启动容器
    停止一个已经在运行的容器☞sudo docker container stop 容器名或容器id

    启动一个已经停止的容器☞sudo docker container start 容器名或容器id

    kill掉一个已经在运行的容器☞sudo docker container kill 容器名或容器id
    4.5删除容器
    sudo docker container rm 容器名或容器id


    5.将容器保存为镜像
    sudo docker commit 容器名 镜像名


    6.镜像备份与迁移
    sudo docker save -o 保存的文件名 镜像名
    在拿到镜像文件后,可以通过load方法,将镜像加载到本地
    sudo docker load -i ./ubuntu.tar

    展开全文
  • Docker中容器镜像关系【通俗易懂】

    万次阅读 多人点赞 2019-10-30 20:57:52
    docker中容器镜像关系是什么? 最近学习了docker,感觉容器镜像学的有点模糊。 特别是镜像容器,感觉完全分不开,所以在此学习,然后总结了一下,便于后面的学习。 docker的整个生命周期有三部分组成:...

    docker中容器和镜像的关系是什么?

    最近学习了docker,感觉容器和镜像学的有点模糊。

    特别是镜像和容器,感觉完全分不开,所以在此学习,然后总结了一下,便于后面的学习。

    ***************

    补充:经过我的一段时间使用,现在再来说一下Docker中容器和镜像的关系

    • 镜像你可以把它看成Java中的类,而容器可以看做是类的实例化对象。
    • 一个类可以有多个对象,同理,一个镜像可以有多个容器。

    ***************

     

    docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。

                                               docker 容器=镜像+可读层

    容器是由镜像实例化而来。

    简单来说,镜像是文件,容器是进程。

    容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。

     

    docker 的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

    docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。

    docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

     

    在Docker的生命周期中,最核心的两个部分,一个是镜像 Images,一个是容器 Containers。

    镜像运行起来就是容器。

    容器服务运行的过程中,基于原始镜像做了改变,比如安装了程序,添加了文件,也可以提交回去 (commit)成为镜像。

     

    例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了mysql或用户需要的其他应用程序。

    docker镜像实际上是由一层一层的系统文件组成,这种层级的文件系统被称为UnionFS( Union file system  统一文件系统),镜像可以基于dockerfile构建,dockerfile是一个描述文件,里面包含了若干条密令,每条命令都会对基础文件系统创建新的层次结构。

    docker提供了一个很简单的机制来创建镜像或更新现有的镜像。用户甚至可以从其他人那里下载一个已经做好的镜像直接使用。(镜像是只读的,可以理解为静态文件)

            相对于镜像来说容器是动态的,容器在启动的时候创建了一层可写层次作为最上层。

    (   docker create <image -id > :为指定的镜像添加一个可读写层,构成一个新的容器;)

     docker仓库:如果使用了git和github就很容易理解docker的仓库概念。docker仓库概念和git类似。

    docker仓库是用来包含镜像的位置,docker提供了一个注册服务器(register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像,

    docker运作中使用的默认仓库是docker hub公共仓库。

    仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用push命令将它上传到共有或者私有的仓库。这样下次再另外一台机器上使用这个镜像的时候只需要从仓库里面pull下来就可以了。

              

    如有其它问题,欢迎大家留言,我们一起讨论,一起学习,一起进步 

     

     

     

    展开全文
  • docker容器与镜像之间的区别

    千次阅读 2019-06-17 10:49:11
    容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。 容器 = 镜像 + 可读层。 一个运行态容器(running container)被定义为一个可读写的统....
  • 当程序员进行开发的时候,docker file是程序员开发的东西,docker镜像作为开发结束的交付形态,docker容器则是部署时候的运行态。 首先我们看一下镜像镜像可以看作一个文件系统,不含有运行时候的动态数据,内容...
  • 一:容器的使用 使用容器我们可以通过Docker客户端进行操作,使用Docker命令我们可以看到所有的客户端命令 # docker //可以看到简洁版的 # man docker //可以看到该命令的详细解释 # docker command --help ...
  • 仓库:是存放镜像的场所,dockerhub是最大的开源仓库,可以通过...容器:docker run 启动镜像会变成容器容器顶层为一个可操作层,修改不会影响镜像。每个镜像可以启动生成多个容器。 具体操作以及关系如下: ...
  • 2、什么是Docker中的镜像容器?     什么是Docker? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也...
  • Docker中容器镜像和仓库的关系

    千次阅读 2019-05-06 09:42:06
    Docker中: 仓库用来存存储镜像镜像启动起来就是容器
  • Docker容器与镜像关系 docker 是一种类似虚拟机的机制,保证系统(容器)之间的隔离,又能让系统(容器)之间共享硬件资源. 为了能够实现这样的功能,就不得不提其关键要素:镜像容器 镜像 镜像相当于安装包,系统...
  • docker commit 39 m1 提交镜像 vim Dockerfile dockerfile文件 docker build -t m2 . 构建容器 docker run -d -p100:80 m2 运行m2 容器 docker save m2 >1.tar 保存 docker rmi m2 删除镜像 php项目连接...
  • 容器镜像和仓库的关系:docker ps 会列出所有运行中的容器; docker ps -a 列出运行中和未运行的容器;docker images -a 列出所用的镜像,也可以说列出所用的可读层...
  • 容器镜像区别

    2021-01-17 11:00:40
    docker中容器镜像关系是什么? 最近学习了docker,感觉容器镜像学的有点模糊。 特别是镜像容器,感觉完全分不开,所以在此学习,然后总结了一下,便于后面的学习。 补充:经过我的一段时间使用,现在再来说...
  • 学习docker有一段时间了,今天来做一个定制化的容器:centos+python+一些第三方python包,容器要复用的话需要形成镜像(一次定制n次使用)。在定制过程中也遇到了不少问题,现将其记录下来方便后续回看。好记心不如...
  • docker镜像是由一个名叫docker Hub 的镜像仓库中来,里边包含大量的容器镜像,默认是国外的源,下载起来肯定会特别慢。建议我们在国内使用,修改配置成国内镜像仓库: 命令为:vim /etc/docker/daemon.json 创建一个...
  • 2. Docker启动停止 安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令 # 启动docker sudo service docker start # 停止docker sudo service docker stop # 重启docker...
  • Docker容器与镜像关系 容器提交 – docker commit 作用: 根据容器生成一个新的镜像 命令格式: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 命令参数(OPTIONS): -a, --author string 作者 ...
  • 最近学习Docker,被Docker 的镜像容器搞的晕头转向,索性上网查找相关资料并...一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。第1层的镜像层我们称之为基础镜像(Base Image),其他层
  • Docker构建离线版Nginx镜像容器,Tomcat镜像容器一、准备工作1.安装Docker并载入centos7基础镜像2.宿主机发布软件源3.使用浏览器访问测试二、构建Nginx容器1.建立工作目录(存放Dockerfile、相关资源)2.创建并编写...
  • docker中 镜像 容器区别 关系

    千次阅读 2017-09-28 15:52:30
    容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等等... 不妨通过一个实例来获得更直观的认识。假设你需要把nginx(web服务器...
  • Docker容器镜像和文件的转化关系

    千次阅读 2017-03-23 09:27:38
    容器转成镜像: sudo docker commit <CONTAINER ID> imagename容器转成文件: sudo docker export <CONTAINER ID> > /home/exportname.tar镜像转成文件: sudo docker save imagename01 > /home/savename.tar ...
  • 大规模容器镜像管理方案 随着容器技术的深入和广泛应用,容器镜像的管理成为了一个关键的环节,在大规模并发访问镜像中心的时候,镜像仓库的高可用性、性能及安全性都是值得关注的问题。目前市场上存在一些开源及...
  • 镜像容器关系 由上文描述可见,Docker容器和docker镜像都是docker系统的一部分,密切相关。镜像可以独立于容器存在,但容器得依赖于镜像容器利用镜像来构建一个运行时环境以此运行一个应用程序。利用docker...
  • 浅谈docker,容器镜像的区别联系

    千次阅读 2018-06-29 22:56:54
    镜像:一个没有运行的ubantu系统是一个镜像,而容器是运行镜像的环境,即镜像必须运行在容器中。docker是门容器化技术,docker可以由许多个容器组成。每个容器里装有对应的的镜像,也可以说是多个镜像装在一个容器...
  • Docker容器与镜像关系 容器提交 – docker commit 作用: 根据容器生成一个新的镜像 命令格式: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 命令参数(OPTIONS): -a, --author string 作者 ...
  • Docker的镜像容器的区别

    万次阅读 多人点赞 2015-09-06 22:51:27
    Docker的镜像容器的区别 作者:chszs 一、Docker镜像要理解Docker镜像和Docker容器之间的区别,确实不容易。假设Linux内核是第0层,那么无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个...
  • 从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署运维,三者缺一不可,合力充当 Docker 体系的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,969
精华内容 15,987
关键字:

容器与镜像的关系