Docker架构
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架构的更多相关文章
- Docker 架构详解 - 每天5分钟玩转容器技术(7)
Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...
- 每天学一点Docker(5)——了解Docker架构
Docker的核心组件: 1.Docker客户端 - Client 2.Docker服务器 - Docker deamon 3.Docker镜像 - Image 4.仓库 - Registry 5.D ...
- 007、Docker 架构详解(2018-12-24 周一)
参考https://www.cnblogs.com/CloudMan6/p/6763789.html Docker核心组件包括: Docker 客户端 Docker Clien ...
- 第 2 章 容器架构 - 007 - Docker 架构详解
Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...
- Docker源码分析(一):Docker架构
1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议.目前,Docker可以在容器内 ...
- 1、Docker 架构详解
本文来自clouldman ,有增删. Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image ...
- Docker 架构详解
Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...
- Docker 架构原理及简单使用
提示:文中有些内容为大神的博客内容,就不统一标注那里引用,只是再最下面标注参考连接谢谢 一.简介 1.了解docker的前生LXC LXC为Linux Container的简写.可以提供轻量级的虚拟化 ...
- Docker学习之docker架构
docker架构 解释 1.docker命令提交给docker daemon进行处理,可以拖取镜像,运行容器等等. 2.最右边的实际上是互联网的sass服务,docker daemon可以和Regis ...
- [转帖]图说Docker架构的各种信息
图说Docker架构的各种信息 2018-07-18 15:16:04作者:linux人稿源:运维之美 https://ywnz.com/linuxyffq/2344.html 介绍Docker架 ...
随机推荐
- python 基本语句
python 基本语句 在使用python的变量前必须给它赋值,因为python变量没有默认值. 获取用户输入值 此时需要注意:input函数的返回值为文本或字符串. 一些简单的函数 乘方 绝对值 将 ...
- 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 ...
- QThread的一些使用心得
qthread这个类主要用于解决pyqt中多线程的问题,常见用法是将后台代码封装在该类的run()方法中,再对qthread对象执行start()函数来启动线程. 但往往一个业务会有粒度划分,多个粒度 ...
- 轻量应用服务器安装 phpMyAdmin
第一步:在phpMyAdmin官方网站http://www.phpmyadmin.net/downloads/下载源码包并解压 cd /usr/local/src wget https://files ...
- BasicConverter 基本数据类型转换器
package cn.ubibi.jettyboot.framework.commons; import com.alibaba.fastjson.JSON; import com.alibaba.f ...
- C常量与控制语句
在C语言中定义常量的两种方式 在C语言编程中定义常量有两种方法. const关键字 #define预处理器 1. const关键字 const关键字用于定义C语言编程中的常量. const float ...
- oracle 序列sequence
查询所有的序列: select 'create sequence '||sequence_name|| ' minvalue '||min_value|| ' maxvalue '||max_valu ...
- c# post 接收传来的文件
private void UploadFile() { // //......其他代码 // HttpFileCollection files = HttpContext.Current.Reques ...
- leetcode200
深度优先搜索,每次遇到1,则岛的数量+1,从这个1开始找到所有相连的1,将其改为0. public class Solution { private void dfsSearch(char[,] gr ...
- Linux的Namespace与Cgroups介绍
Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...