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. python 基本语句

    python 基本语句 在使用python的变量前必须给它赋值,因为python变量没有默认值. 获取用户输入值 此时需要注意:input函数的返回值为文本或字符串. 一些简单的函数 乘方 绝对值 将 ...

  2. MySQL Point in Time Recovery the Right Way

    In this blog, I’ll look at how to do MySQL point in time recovery (PITR) correctly. Sometimes we nee ...

  3. QThread的一些使用心得

    qthread这个类主要用于解决pyqt中多线程的问题,常见用法是将后台代码封装在该类的run()方法中,再对qthread对象执行start()函数来启动线程. 但往往一个业务会有粒度划分,多个粒度 ...

  4. 轻量应用服务器安装 phpMyAdmin

    第一步:在phpMyAdmin官方网站http://www.phpmyadmin.net/downloads/下载源码包并解压 cd /usr/local/src wget https://files ...

  5. BasicConverter 基本数据类型转换器

    package cn.ubibi.jettyboot.framework.commons; import com.alibaba.fastjson.JSON; import com.alibaba.f ...

  6. C常量与控制语句

    在C语言中定义常量的两种方式 在C语言编程中定义常量有两种方法. const关键字 #define预处理器 1. const关键字 const关键字用于定义C语言编程中的常量. const float ...

  7. oracle 序列sequence

    查询所有的序列: select 'create sequence '||sequence_name|| ' minvalue '||min_value|| ' maxvalue '||max_valu ...

  8. c# post 接收传来的文件

    private void UploadFile() { // //......其他代码 // HttpFileCollection files = HttpContext.Current.Reques ...

  9. leetcode200

    深度优先搜索,每次遇到1,则岛的数量+1,从这个1开始找到所有相连的1,将其改为0. public class Solution { private void dfsSearch(char[,] gr ...

  10. Linux的Namespace与Cgroups介绍

    Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...