Docker 入门到实践系列文章列表:
Docker 入门到实践 (一) docker 简介与装置
Docker 入门到实践 (二) docker 常用指令解说
Docker 入门到实践 (三) Dockerfile 解析与镜像制造
Docker 入门到实践 (四) docker 容器数据卷与数据卷容器
Docker 入门到实践 (五) docker 数据的备份、恢复与搬迁
Docker 入门到实践 (六) docker 网络形式详解以及容器间的网络通信
Docker 入门到实践 (七) docker 常用软件的装置
Docker 入门到实践 (八) 本地镜像推送到阿里云 和 下载镜像到本地
Docker 入门到实践 (九) docker 可视化界面 portainer 的装置与运用
Docker 入门到实践 (十) IDEA 集成 Docker 构建容器镜像,布置项目
Docker 入门到实践 (十一) docker 私有库房的建立与装备
Docker 入门到实践 (十二) docker compose 简介与装置
Docker 入门到实践 (十三) docker compose 装备文件与常用指令解说
Docker 入门到实践 (十四) docker 企业级容器镜像库房 HarBor 的建立与装备
一、docker 介绍
Docker 是一个开源的运用容器引擎,让开发者能够打包他们的运用以及依靠包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也能够完结虚拟化。容器是彻底运用沙箱机制,相互之间不会有任何接口。
开发人员运用 Docker 能够消除协作编码时 “在我的机器上可正常运作,而在你的机器上不能正常运作” 的问题。运维人员运用 Docker 能够在隔离容器中并行运转和管理运用,取得更好的核算密度。企业运用 Docker 能够构建敏捷的软件交给管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 运用发布新功能。
二、docker 长处
1、更快速的运用交给和布置
传统的运用开发完结后,需求供给一堆装置程序和装备说明文档,装置布置后需依据装备文档进行冗杂的装备才能正常运转。Docker 化之后只需求交给少数容器镜像文件,在正式生产环境加载镜像并运转即可,运用装置装备在镜像里现已内置好,大大节约布置装备和测验验证时刻。
2、更快捷的晋级和扩缩容
随着微服务架构和 Docker 的发展,很多的运用会经过微服务方法架构,运用的开发构建将变成搭乐高积木相同,每个 Docker 容器将变成一块 “积木”,运用的晋级将变得非常容易。当现有的容器不足以支撑业务处理时,可经过镜像运转新的容器进行快速扩容,使运用体系的扩容从原先的天级变成分钟级甚至秒级。
3、更简略的体系运维
运用容器化运转后,生产环境运转的运用可与开发、测验环境的运用高度一致,容器会将运用程序相关的环境和状态彻底封装起来,不会因为底层基础架构和操作体系的不一致性给运用带来影响,产生新的 BUG。当呈现程序反常时,也能够经过测验环境的相同容器进行快速定位和修正。
4、更高效的运用体系资源
Docker 是内核级虚拟化,其不像传统的虚拟化技术相同需求额外的 Hypervisor 支持,所以在一台物理机上能够运转很多个容器实例,可大大提升物理服务器的 CPU 和内存的运用率。
三、Docker 架构
Docker 运用 C/S 架构,Client 经过接口与 Server 进程通信完结容器的构建,运转和发布,如图:
1、Docker Client (docker 客户端)
Docker 指令行东西,用户经过 Docker Clients 与 Docker daemon 进行通信,运用指令行发送创立镜像、运转容器之类的请求。
2、Docker Host (docker 宿主机)
装置了 Docker 程序,并运转了 Docker daemon 的主机。其间 Docker Host 包括如下三部分:
2.1、Docker daemon (Docker 守护进程)
运转在宿主机上,Docker 守护进程,用户经过 Docker client(Docker 指令) 与 Docker daemon 交互。
2.2、Images (镜像)
将软件环境打包好的模板,用来创立容器的,一个镜像能够创立多个容器。
2.3、Containers (容器)
Docker 的运转组件,发动一个镜像便是一个容器,容器与容器之间相互隔离,并且互不影响。
3、Registry (库房服务注册器)
经常会和库房 (Repository) 相提并论,实际上 Registry 上能够有多个库房,每个库房能够看成是一个用户, 一个用户的库房放了多个镜像。库房分为了公开库房 (Public Repository) 和私有库房(Private Repository),最大的公开库房是官方的 Docker Hub,国内也有如阿里云、时速云等,能够给国内用户供给稳定快速的服务。用户也能够在本地网络内创立一个私有库房。当用户创立了自己的镜像之后就能够运用 push 指令将它上传到公有或许私有库房,这样下次在另外一台机器上运用这个镜像时分,只需求从库房上 pull 下来就能够了。
四、Docker VS VMware
VM 是一个运转在宿主机之上的完整的操作体系,VM 运转本身操作体系会占用较多的 CPU、内存、硬盘资源。Docker 不同于 VM,只包括运用程序以及依靠库,根据 libcontainer 运转在宿主机上,并处于一个隔离的环境中,这使得 Docker 更加轻量高效,发动容器只需几秒钟之内完结。因为 Docker 轻量、资源占用少,使得 Docker 能够容易的运用到构建标准化的运用中。
五、CentOS7 操作体系装置 Docker CE (社区版)
官方装置文档:docs.docker.com/install/lin…
1、检查操作体系版别是否是 CentOS7 及以上
cat /etc/redhat-release
2、检查 CentOS7 的内核版别,Docker 要求 CentOS7 体系有必要为 64 位,且体系内核版别为 3.10 及以上
uname -r
能够看到 CentOS7 的操作体系为 x86_64(64 位),体系内核版别为 3.10.0
提示:以下步骤请以root用户
运转指令,假如不是以 root 用户运转,请在指令的最前面加上sudo
,表示以体系管理者 (root) 的身份执行指令
3、卸载旧版别 (假如之前没有装置过旧版别的 docker 能够越过)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
4、装置 docker 所需的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置 yum 源为阿里云 (因为国外网站访问速度慢)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、更新 yum 软件包索引
yum makecache fast
7、装置 docker CE(社区版),Docker 供给了两个版别:社区版 (CE,免费) 和 企业版 (EE,收费)
yum -y install docker-ce
8、发动 docker,并加入到开机发动
//发动docker
systemctl start docker
//设置docker开机发动
systemctl enable docker
9、检查 docker 是否装置成功
docker version
呈现 Client 和 Service 两部分信息,则表示 docker 发动和装置都成功
10、设置阿里云镜像加速器 (外国网站下载镜像速度慢)
10.1、进入到阿里云官网,登录并点击右上角的操控台,进入到操控台页面
10.2、进入到操控台页面,在查找框中输入 容器镜像服务并挑选,进入到镜像库房管理操控台
10.3、进入到操控台页面后,在查找框中输入 容器镜像服务并挑选,进入到镜像库房管理操控台,在进入时,需求设置镜像库房管理操控台的用户名和密码,检查文档请点击:阿里云镜像根本操作
10.4、进入到镜像库房管理操控台后,点击左边镜像中心下拉选项中的镜像加速器,最终点击仿制链接,仿制加速器地址,检查文档请点击:阿里云官方镜像加速
10.5、修改 / etc/docker/daemon.json 装备文件 (假如有 daemon.json 装备文件则修改,没有则会主动新建)
vi /etc/docker/daemon.json
10.6、在 daemon.json 装备文件中,增加如下内容并保存:
{
"registry-mirrors": ["https://m0p0xxqj.mirror.aliyuncs.com"]
}
11、从头加载 daemon.json 装备文件 并 重启 docker 服务
//从头加载daemon.json装备文件
systemctl daemon-reload
//重启服务器
systemctl restart docker
12、检查阿里云镜像加速器是否装备成功
docker info
找到 Registry Mirrors,在其下方显示的便是咱们装备的镜像加速器地址
到这,docker CE(社区版) 就装置成功了
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net