docker简介:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
- docker daemon 守护进程
- docker images 镜像
- docker container 容器
起源:
Docker 是 PaaS(平台服务商) 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上,基于go语言并遵从`Apache2.0`协议开源。
docker的架构:
Docker是一个c/s架构的服务,Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。
为什么使用Docker:
容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。
Docker具体优势:
1、更快速的交付和部署
对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。
2、更高效的虚拟化
Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。
3、更轻松的迁移和扩展
Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。
4、更简单的管理
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。
Docker的局限性
Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
- Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
- LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
- 隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
- 网络管理相对简单,主要是基于namespace隔离
- cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
- Docker对disk的管理比较有限
- container随着用户进程的停止而销毁,container中的log等用户数据不便收集
Docker的安装及注意事项:
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
Docker支持一下的centos版本:
centos6.5(64-bit) 要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
Centos7(64-bit) 要求系统为64位、系统内核版本为 3.10 以上。
查看内核版本:
[root@lin ~]# uname -r
3.10.0-1127.el7.x86_64
本文通过阿里云镜像站来安装docekr-ce19.03.0
https://developer.aliyun.com/mirror/?spm=5176.12901015.0.i12901015.43d1525cfoNwxo
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 查找Docker-CE的版本:
sudo yum list docker-ce.x86_64 --showduplicates | sort -r
# Step 4: 安装Docker-CE的版本(19.03.0为例):
sudo yum install docker-ce-19.03.0 docker-ce-cli-19.03.0
# Step 4: 开启Docker服务
sudo service docker start
systemctl enable docker
#安装校验
docker --version
你以为就安装完成了?
不!docker下载镜像默认是从dockerhub上下载,那个网站属于外网,国内下载慢的要死!
对此的就是设置一个加速器!
加速器的选择有多种,常见的大名鼎鼎的阿里云加速器、道云。
本文采用阿里云加速器!看下
点击 我的阿里云 ----在点击自己的头像----找到 产品与服务 -- 找到 容器镜像服务 -- 镜像加速器
注意:每个人的加速器地址不一样哟。道云加速地址是统一的地址。
复制粘贴即可。
原文链接:/docker/997437.html
//开启路由转发、内核桥接的功能
[root@docker01 ~]# vim /etc/sysctl.conf
[root@docker01 ~]# sysctl -p
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
#systemctl restart daeload
#systemctl restart docker
不开启docker的网络用不了!!!