Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。

Docker容器通过Docker镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象和类。

Docker 面向对象
容器 对象
镜像
Docker镜像(Image) Docker镜像是用于创建Docker容器的模板
Docker容器(Container) 容器是独立运行的一个或一组应用
Docker客户端(Clie

nt)

Docker客户端通过命令行或者其他工具使用DockerAPI与Docker的守护进程通信。
Docker主机(Host) 一个物理或者虚拟的机器用于执行Docker守护进程和容器。
Docker仓库(Registry)

Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库

Docker Hub提供庞大的镜像集合公使用。

Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行

即可在相应的平台上安装Docker,比如VirtaulBox, Digtal Ocean、Microsoft Azure。

CentOS Docker 安装

Docker支持一下的CentOS安装:

  CentOS 7(64-bit)

  CentOS 6.5 (64-bit)或更高版本

前提条件

目前,CentOS仅发行版中的内核支持Docker。

Docker运行在CentOS 7上,要求系统为64位、系统内核版本为3.10以上。

使用yum安装(CentOS下)

[root@runoob~]# uname -r

从2017年3月开始docker在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。

Docker CE 即社区免费版本,Docker EE即企业版本,强调安全,但需要付费使用。

本文介绍Docker CE安装和使用:

$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件信息源:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum缓存:

sudo yum makecache fast

安装Docker-CE:

sudo yum install docker-ce

 启动Docker后台服务:

sudo systemctl start docker

测试运行 hello-world:

[root@runoob ~]# docker run hello-world

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行

使用脚本安装Docker

1、使用sudo或root权限登陆CentOS.

2、确保yum包更新到最新

sudo yum update

3、执行Docker安装脚本

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

执行这个脚本会添加docker.repo源并安装Docker。

4、启动Docker进程

sudo systemctl start docker

5、验证docker是否安装成功并在容器中执行一个测试对象

sudo docker run hello-world

到此,Docker在CentOS系统安装完成。

镜像加速

鉴于国内网络问题,后续拉取Docker镜像十分缓慢,我们可以需要配置加速器来解决,

使用的是网易的镜像地址:http://hub-mirror.c.163.com.

新版的Docker使用/etc/docker/daemon.json(Linux)或者%programdata%\docker\condfig\daemon.json(Windows)来配置Daemon。

请在改配置文件中加入(没有该文件的话,新建一个):

{
“registry-mirrors”:["http://hub-mirror.c.163.com"]
}

删除Docker CE

执行以下命令行来删除Docker CE:

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

 

Docker架构的更多相关文章

  1. Docker 架构详解 - 每天5分钟玩转容器技术(7)

    Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...

  2. 每天学一点Docker(5)——了解Docker架构

    Docker的核心组件: 1.Docker客户端 - Client 2.Docker服务器 - Docker deamon 3.Docker镜像 - Image 4.仓库 - Registry 5.D ...

  3. 007、Docker 架构详解(2018-12-24 周一)

    参考https://www.cnblogs.com/CloudMan6/p/6763789.html     Docker核心组件包括:       Docker 客户端   Docker Clien ...

  4. 第 2 章 容器架构 - 007 - Docker 架构详解

    Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...

  5. Docker源码分析(一):Docker架构

    1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议.目前,Docker可以在容器内 ...

  6. 1、Docker 架构详解

    本文来自clouldman ,有增删. Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image ...

  7. Docker 架构详解

    Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...

  8. Docker 架构原理及简单使用

    提示:文中有些内容为大神的博客内容,就不统一标注那里引用,只是再最下面标注参考连接谢谢 一.简介 1.了解docker的前生LXC LXC为Linux Container的简写.可以提供轻量级的虚拟化 ...

  9. Docker学习之docker架构

    docker架构 解释 1.docker命令提交给docker daemon进行处理,可以拖取镜像,运行容器等等. 2.最右边的实际上是互联网的sass服务,docker daemon可以和Regis ...

  10. [转帖]图说Docker架构的各种信息

    图说Docker架构的各种信息 2018-07-18 15:16:04作者:linux人稿源:运维之美   https://ywnz.com/linuxyffq/2344.html 介绍Docker架 ...

随机推荐

  1. 时钟分组的用法---Clock Groups

    时钟分组的用法---Clock Groups 哪些时钟互相之间需要分组 同步时钟: 异步时钟: 不确定的时钟: 即使是从同一个MMCMs出来的时钟,有可能为不确定关系的时钟,如果它们之间的相位没有一个 ...

  2. System Generator 生成IP核在Vivado中进行调用

    System Generator 生成IP核在Vivado中进行调用 1.首先在Simulink中搭建硬件模型 2.查看仿真结果 3.资源分析与时序分析 4.启动vivado,关联生成的IP核 5.调 ...

  3. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑【转发】

    原文地址:http://www.cnblogs.com/hbccdf/archive/2014/03/09/3590916.html 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问 ...

  4. ECMAScript 6 学习总结

    1.什么是ES6? 简单的说 ES6 的第一个版本,在2015年6月发布了,正式名称就是<ECMAScript 2015标准>(简称 ES2015)在2016年6月,小幅修订的<EC ...

  5. C语言数据结构基础学习笔记——基础线性表

    线性表是指具有相同数据类型的n(n>=0)个数据元素的有限序列,它具有一个表头元素和一个表尾元素,并且每一个数据元素最多只有一个直接前驱和一个直接后继. 线性表的顺序存储也叫作顺序表,它的特性是 ...

  6. 杂谈c.cpp

    Endl确保程序运行前刷新输出(将其立即显示在屏幕上),而’\n’却不能保证 在c++中,是以分号分割的,所以可以把几条代码放在一行,也可以把一条代码放在几行 编译器负责分配和标记内存的细节 C++可 ...

  7. VS 代码片段集

    片段1:用于线程执行代码,耗时操作时加载Loging; <?xml version="1.0" encoding="utf-8"?> <Cod ...

  8. jdk 8 日期处理。

    ZoneId id = ZoneId.systemDefault(); LocalDateTime dateTime = LocalDateTime.now(id); System.out.print ...

  9. Idea的pom文件导入依赖包仍然报错

  10. 对象转Json时,Date类型格式化问题

    object是一个对象,该对象中有一个字段为Date类型 使用JSONObject obj = JSONObject.fromObject(object);将Object转成json时 Date类型字 ...