《Docker 技术入门与实践》-读书笔记一

《Docker 技术入门与实践》-读书笔记一

《Docker 技术入门与实践》-读书笔记二

一、初识Docker

(一) 什么是Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。Docker就是类似的理念。

(二)Docker的优势

对开发和运维人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境、任意时间让应用正常的运行。而Docker恰恰是可以实现这一终极目标的瑞士军刀

具体来说,Docker在开发和运维过程中,有如下几个方面的优势。

  • 更快的交付和部署。使用Docker,开发人员可以使用镜像快速构建一套标准的开发环境,开发完成之后,测试和运维可以直接使用相同环境来部署代码。Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试和部署的时间。并且各个步骤都有明确的配置和操作,整个过程可见,使团队更容易理解应用的创建和工作过程。
  • 更高效的利用资源。Docker容器的运行不需要额外的虚拟化管理程序(Virtual Machine Manager VMM)支持。这种兼容性让用户可以在不同的平台之间轻松的迁移应用。
  • 更轻松的迁移和扩展。Docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。
  • 更简单的更新管理。使用Dockerfile,只需要小小的配置修改,就可以替代以往大量的更新工作。并且所有修改都以增量的方式进行分发和更新,从而实现自动化并且高效的容器管理。

Docker与传统虚拟机的比较

特性 容器 虚拟机
启动速度 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个
隔离性 安全隔离 完全隔离

二、Docker的核心概念和安装

(一)核心概念

Docker镜像:类似于虚拟机的镜像,可以将它理解为一个面向 Docker 引擎的只读模板,包含了文件系统。镜像是创建 Docker  容器的基础。通过版本管理和增量的文件系统,Docker 提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用的镜像,并通过简单的命令就可以直接使用。

Docker容器:类似于一个轻量级的沙箱,Docker 利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。

Docker仓库:类似于代码仓库,是 Docker 集中存放镜像文件的场所。根据存储的镜像是否公开,Docker 仓库可以分为公开仓库和私有仓库两种形式。目前最大的公开仓库是 Docker Hub ,存放了数量庞大的镜像供用户下载。同时用户可以创建自己的镜像,并将镜像 push 到公有或者私有仓库。当下次需要使用时,可以从仓库 pull 下来。

这样可以看出,Docker 利用仓库管理镜像的设计理念与 Git 非常相似。

(二)Docker 安装

CentOS

Docker 支持 CentOS 6 及以后的版本。

对于 CentOS 6 系统可以使用 EPEL 库安装 Docker, 命令如下:

$ sudo yum install -y http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
$ sduo yum install -y docker-io

对于 CentOS 7 系统,由于CentOS-Extras 源中已内置 Docker ,读者可以直接使用 yum 命令进行安装:

$ sudo yum install -y docker-io

目前在 CentOS 系统中更新 Docker 软件有两种方法,一是自行通过源码编译安装,二是下载二进制文件进行更新。 

(三)镜像

使用 docker pull 命令从网络上下载镜像

[root@localhost bin]# docker pull ubuntu
Using default tag: latest
Trying to pull repository docker.io/library/ubuntu ...

这是从默认的注册服务器 registry.hub.docker.com 中的 ubuntu 仓库下载标记为 latest 的镜像。

用户也可以选择从其它注册服务器的仓库下载。此时,需要在仓库名称前面指定完整的仓库注册服务器地址。例如从DockerPool 社区的镜像源 dl.dockerpool.com 下载最新的 Ubuntu 镜像。


使用 docker images 命令可以列出本地主机上已有的镜像。

[root@localhost bin]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu    latest              1d9c17228a9e        12 days ago         86.7 MB
[root@localhost bin]# 

在列出的信息中,可以看到几个字段信息:

repository: 来自哪个仓库,比如 Ubuntu 仓库。

          tag: 镜像的标签信息,比如 latest。

 image id: 镜像的 ID 号(唯一)。这个ID 信息十分重要,它唯一标识了镜像。

  created: 创建时间。

       size: 镜像大小。


使用 docker inspect 命令可以获取该镜像的详细信息

[root@localhost bin]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu    latest              1d9c17228a9e        12 days ago         86.7 MB
[root@localhost bin]# docker inspect 1d9c17228a9e
[
    {
        "Id": "sha256:1d9c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值