Dockerd的核心概念,镜像操作

简介

在实际使用Docker的过程中,遇到一些问题,但是总没有系统的博文可以详细的介绍Docker,所以个人写一个由浅入深的系统学习Docker过程。
这里首先介绍Docker的三大核心概念:镜像(Image),容器(Container),仓库(Repository),其实你理解了着三个核心概念,也就能顺利的理解Dokcer的整个生命周期了。

Docker 镜像

????Docker镜像(Image)类似于虚拟机镜像,可以理解为一个面向Dokcer引擎的只读模板,包含了文件系统。
????比如:一个镜像可以包含一个完整了Centos操作系统,可以把它称为Centos镜像。当然,镜像也可以只安装了Mysql应用程序(或用户需要的其他软件),就可以称为Mysql镜像。
????镜像是创建Docker容器的基础,它可以通过版本管理和增量的文件系统,如Docker Hub。

Docker 容器

????Docker容器(container)类似于轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,但是所有的容器是相互隔离的,互不可见的,这就提供了一个实体机可以安装多个容器,且很轻量级相对于虚拟机。镜像本身是只读的,容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身保持不变。

Docker仓库

????Docker仓库(Repository)类似于代码库,是Dokcer集中存放镜像的场所。实际上,注册服务器是存放仓库的地方,其上往往存放着很多仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。

????根据存储的镜像公开分享与否,Docker仓库可以分为公开仓库(Public)和私有仓库(Private)两种形式。目前,最大的公开仓库是Docker Hub,存放 了数量庞大的镜像供用户下载,国内的公开镜像包括Docker Pool,可以提供稳定的国内访问,与GitHub类似。

安装Docker

????Docker支持主流的操作系统平台使用,包括Ubuntu、Centos、Window以及MacOS系统等。当然,肯定在Linux系列平台是原生支持的,体验最好。Centos下具体的安装请看上一篇博文# Centos搭建Docker环境,后续讲述的Docker环境以Centos云主机.。

获取镜像

????这里讲述如何使用pull命令从Docker Hub仓库下载镜像到本地,如何查看本地已有的镜像文件信息;已经如何push本地镜像到Docker Hub仓库。注册Docker Hub请访问DockerHub

????镜像是Docker运行容器的前提,docker pull 命令从网络上下载镜像。格式为:

docker pull NAME[:TAG]    //不指定TAG,默认会选择latest标签,即最新版本的镜像
docker pull mysql:latest 等同于 docker pull mysql 

[[email protected]_149_72_centos ~]# docker pull mysql  //下载
Using default tag: latest
Trying to pull repository docker.io/library/mysql ...
sha256:7cdb08f30a54d109ddded59525937592cb6852ff635a546626a8960d9ec34c30: Pulling from docker.io/library/mysql
f49cf87b52c1: Pull complete
78032de49d65: Pull complete
837546b20bc4: Pull complete
9b8316af6cc6: Pull complete
1056cf29b9f1: Pull complete
86f3913b029a: Pull complete
f98eea8321ca: Pull complete
3a8e3ebdeaf5: Extracting [==================================================>] 79.74 MB/79.74 MB
4be06ac1c51e: Download complete
920c7ffb7747: Download complete 

在下载过程中可以看到,镜像文件一般有若干层组成,行首f49cf87b52c1这样的字符串代表了各层的ID。层(Layer)其实是AUFS中重要的概念(代表一种联合文件系统),是实现增量保存和更新的重要基础。

查看镜像

[[email protected]_149_72_centos etc]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql         latest              f008d8ff927d        4 days ago          408.5 MB
docker.io/hello-world   latest              f2a91732366c        8 weeks ago         1.848 kB

以上信息的个字段意思:

  • 来自于那个仓库,比如docker.io/mysql仓库
  • 镜像的标签信息,比如latest
  • 镜像的ID号(唯一)
  • 创建时间
  • 镜像大小
    这里的镜像的ID信息十分重要,它唯一标识了镜像。
    docker tag 命令为本地镜像添加新的标签:如

     docker tag docker.io/mysql mysql:1.0


    如果细心的你会发现其实它们的ID事一样的,都是:f008d8ff927d,其实这里它们都指向同一个镜像文件就,相当起了一个别名,和window系统的快捷方式类似。
    获取镜像的详细信息docker inspect ID

    docker inspect ID

    搜索镜像

    使用docker search 命令可以远程搜索远程仓库中共享的镜像,默认搜索Docker Hub官方的镜像。

    docker search imageName
    //可以指定一下参数
    -- automated=false 仅显示自动创建的镜像
    --no-trunc=false 输出信息不截断显示
    -s,--stars=0指定仅显示评价为指定星级以上的镜像

    下面是搜索radis缓存

    可以看到返回了很多包含关键字的镜像,其中有镜像名字、描述、星级、是否官方创建,是否自动创建,默认排序是按照星级排序。

    删除镜像

    使用docker rmi 命令可以删除镜像,命令格式docker rmi IMAGE,这里可以是标签或ID

    docker rmi id

    当镜像只剩下一个标签的时候要小心,使用docker rmi会删除对应镜像,会删除所有层

待续。。

原文地址:https://www.cnblogs.com/moyhui/p/8321998.html

时间: 2024-11-02 20:18:42

Dockerd的核心概念,镜像操作的相关文章

Docker核心概念

Docker的三大核心概念 镜像 容器 仓库 1.Docker镜像 Docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统.镜像是创建容器的基础.通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并通过简单的命令就可以直接使用. 2.Docker容器 Docker容器类似于一个轻量级的沙箱(沙箱是一个虚拟的环境,在这份环境运行的程序都是独立的,不会对你的现用操作系统造

Docker的安装、镜像操作、容器操作及资源控制

Docker概述 Docker是在linux容器里运行应用的开源工具,是一种轻量级的虚拟机.Docker包含三大核心概念,分别是:镜像.容器和仓库.Docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.通过这种容器打包应用程序,意味着简化了重新部署.调试这些琐碎的重复工作.极大地提高了工作效率. Docker容器与传统虚拟化的比较 特性 Docker容器 虚拟机 启动速度 秒级 分钟级 计算能力消耗 几乎无 消耗50% 性能 接近原生 弱于 单机系统支

docker核心概念及基本操作

概要 docker是一种linux容器技术.容器有效的将由单个操作系统挂管理的资源划分到孤立的组中,以便更好的在组之间平衡有冲突的资源使用需求.可简单理解为一种沙盒 .每个容器内运行一个应用,不同的容器之间相互隔离,容器之间也可以建立通信机制.容器的创建和停止都十分快速,资源需求远远低于虚拟机. 好处 能高效地构建应用. 对于运维开发来说, 能快速的交付和部署 高效的资源利用 轻松的迁移扩展 简单的更新管理 与虚拟机的比较 docker与虚拟化 虚拟化是一种资源管理技术,是将计算机的各种实体资源

docker 学习 - 核心概念

一 核心概念 镜像 类似于虚拟机镜像,可以将它理解为一个面向docker引擎的的只读模板,是创建docker容器的基础 容器 类似于一个轻量级的沙箱,容器是从镜像的应用运行实例,可以将其启动 开始 停止 删除,这些容器是相互隔离互不可见的. 镜像自身是只读的,容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身保持不变. 仓库 docker 存放镜像文件的场所,可以分为公开仓库和私有仓库,用户可以在内网创立自己的私有仓库 参考书 : docker 技术入门与实践 原文地址:

ios多线程操作(四)—— GCD核心概念

GCD全称Grand Central Dispatch,可译为"大派发中枢调度器",以纯C语言写成,提供了许多非常强大的函数.GCD是苹果公司为多核的并行运算提出的解决方案,它可以自动利用更多的CPU内核来参与运算,会自动管理线程的生命周(创建线程.调度任务.销毁线程),而程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码! GCD中有两个核心概念,一是任务,二是队列. 任务:要执行什么样的操作.任务都是预先以Block封装好准备要执行的一段代码. 队列:用来存放任务,

ElasticSearch笔记整理(二):CURL操作、ES插件、集群安装与核心概念

[TOC] CURL操作 CURL简介 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求.简单的认为是可以在命令行下面访问url的一个工具.在centos的默认库里面是有curl工具的,如果没有请yum安装即可. curl -X 指定http的请求方法 有HEAD GET POST PUT DELETE -d 指定要传输的数据 -H 指定http请求头信息 curl创建索引库 curl -XPUT http://<ip>:9200

Docker的三大核心概念-01

Docker的三大核心为:镜像.容器.仓库.下面简单的介绍一下这三大核心概念. 1.docker镜像(image) 镜像是创建docker容器的基础,docker镜像类似于虚拟机镜像,可以将它理解为一个面向docker引擎的只读模块,包含文件系统. 创建镜像有三种方法: (1)基于已有镜像的容器创建.主要是利用docker commit命令. (2)基于本地模板导入.推荐利用OpenVZ提供的模板来创建. (3)基于dockerfile创建.首先按照dockerfile的格式,编写好docker

docker的核心概念和安装

docker的安装和配置 环境介绍: 操作系统:64bit CentOS7 docker版本:1.11.1(最新版本) 版本新功能:https://github.com/docker/docker/blob/master/CHANGELOG.md 安装步骤 安装准备: 要求: 内核版本最低为3.10 查看当前内核版本: uname –r 通过yum方式安装docker: 第一步:更新yum源: sudo yum update 第二步:增加docker的yum源: 输入命令:sudo tee /e

Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

Docker简介 Docker是开源应用容器引擎,轻量级容器技术. 基于Go语言,并遵循Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux系统上,也可以实现虚拟化 容器完全使用沙箱技术,相互之间不会有任何接口 类似于虚拟机技术(vmware.vitural),但docker直接运行在操作系统(Linux)上,而不是运行在虚拟机中,速度快,性能开销极低 白话文,简介就是: Docker支持将软件编译成一个镜像,然