Docker入门笔记(一)

Docker入门笔记(一)

前言

  • Docker随着微服务已经流行起来一段时间。最近公司来了一个新的同事,在他的建议下,公司的一部分开发卓见转移到开始使用docker做部署等操作。由于本人想更为详细的了解一下Docker,特整理此学习笔记,记录Docker的学习过程。

什么是Docker

  • 个人有一个习惯,在学习一门新的知识的时候,总要先了解,这个知识是什么,紧接着要简单的了解这个东西怎么使用。最后,了解这个软件的优点和缺点。
  • 在中文docker网站这样介绍Docker:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
  • docker官方包括一些书籍中也更多的出现把docker比作集装箱。如Docker官网中介绍,Docker是世界领先的软件集装箱化平台。Docker实现了应用程序和基础架构与开发人员和IT运营商之间的真正的独立性,从而发挥潜力,并创建更好的协作和创新模式。---摘自Docker官网
  • 如果说云计算是一艘大船,docker就是大船上的集装箱,docker可以解决不同程序会有不同的应用环境的问题,降低开发运维的成本,相对与虚拟机占用内存更小。
  • 整体来说docker具有敏捷,可移植性,安全,节约成本等优势。

Docker的基本安装

- 在使用docker的过程中我们首先要学会安装docker,本实例使用centos7作为docker运行环境。
- yum install docker进行docker的安装,但是我们现在会发现我们的docker版本是1.12.6版本,使用容器安装Docker版本1.13或更高版本。
- 如果我们要对我们的docker版本进行升级,首先升级系统软件包yum update
- 卸载旧版本的docker,yum erase docker docker-common docker-client docker-compose
- 添加docker的yum源,位置/etc/yum/repos.d/docker.repo

   name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
  • 安装docker,yum install -y docker-engine
  • 我们现在通过命令docker -v就可以查看我们的docker版本,已经升级成最新的docker版本。
  • 我们现在可以创建开机启动我们的dockersystemctl enable docker.service
  • 启动我们的dockersystemctl start docker

Docker的架构体系

  • 在安装完成以后我们要先了简单的了解一下docker的架构体系,Docker使用客户机 - 服务器体系结构。Docker 客户端与Docker 守护进程通信,Docker 守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以 在同一个系统上运行,也可以将Docker客户端连接到远程的Docker守护进程。Docker客户端和守护进程使用REST API通过UNIX套接字或网络接口进行通信。

Docker守护进程

  • Docker守护进程(dockerd)监听Docker API请求并管理Docker对象,如图像,容器,网络和卷。守护进程还可以与其他守护进程通信来管理Docker服务。

Docker客户端

  • Docker客户端(docker)是许多Docker用户与Docker进行交互的主要方式。当你使用诸如这样的命令时docker run,客户端发送这些命令给dockerd其执行。该docker命令使用Docker API。Docker客户端可以与多个守护进程通信。

Docker仓库

  • Docker仓库存储Docker镜像,Docker Hub和Docker Cloud是任何人都可以使用的公共仓库,Docker默认配置为在Docker Hub上查找图像。你甚至可以运行你自己的私人仓库。如果你使用Docker Datacenter(DDC),它包括Docker Trusted Registry(DTR)。

Docker对象

image

集装箱

容器是图像的可运行实例。您可以使用Docker API或CLI创建,启动,停止,移动或删除容器。您可以将一个容器连接到一个或多个网络,将存储连接到它,甚至可以基于当前状态创建一个新映像。

默认情况下,一个容器与其他容器及其主机相对隔离。您可以控制容器的网络,存储或其他底层子系统与其他容器或主机的隔离程度。

容器由其图像定义,以及在创建或启动时提供给它的任何配置选项。当一个容器被移除时,没有存储在永久存储中的状态的任何改变都消失。

示例docker run命令
以下命令运行一个ubuntu容器,以交互方式附加到本地命令行会话并运行/bin/bash。
docker run -i -t ubuntu /bin/bash
当您运行此命令时,会发生以下情况(假定您正在使用默认的注册表配置):

如果您ubuntu本地没有镜像,Docker会从您配置的注册表中取出它,就像您docker pull ubuntu手动运行一样。

Docker创建一个新的容器,就像你docker create 手动运行一个命令一样。

Docker将一个读写文件系统分配给容器,作为它的最后一层。这允许正在运行的容器在其本地文件系统中创建或修改文件和目录。

由于您没有指定任何网络选项,因此Docker会创建一个网络接口来将容器连接到默认网络。这包括分配一个IP地址给容器。默认情况下,容器可以使用主机的网络连接连接到外部网络。

Docker启动容器并执行/bin/bash。因为容器是交互式运行的,并且连接到你的终端(由于-i和-t)标志,所以你可以使用你的键盘提供输入,输出记录到你的终端。

当您键入exit以终止/bin/bash命令时,容器停止但不会被删除。您可以重新启动或删除它。

服务

通过服务,您可以跨多个Docker守护进程扩展容器,这些守护进程可以作为一个拥有多个管理者和工作者的群组一起工作。swarm中的每个成员都是一个Docker守护进程,守护进程都使用Docker API进行通信。服务允许您定义所需的状态,例如在任何给定时间必须可用的服务副本的数量。默认情况下,该服务在所有工作节点之间进行负载平衡。对于消费者来说,Docker服务似乎是一个单一的应用程序。Docker引擎在Docker 1.12及更高版本中支持swarm模式。

基础技术

Docker是用Go编写的,利用Linux内核的几个特性来提供它的功能。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容