【云原生-Docker篇】之 Docker入门精讲
目录导航前言一、容器3W介绍1.1 什么是容器1.2 为什么需要容器1.3 容器是如何工作的二、容器技术与虚拟机技术2.1 相同2.2 不同前言写了几篇云原生之Docker篇的文章,发现没有写Docker入门篇,所以来补一下,希望能帮助更多刚入门Docker的同志。一、容器3W介绍1.1 什么是容器容器是一种轻量级、可移植、自包含的软件打包技术,使得应用程序及其需要的支持环境一起打包,以相同的方式
目录导航
前言
写了几篇云原生之Docker篇的文章,发现没有写Docker入门篇,所以来补一下,希望能帮助更多刚入门Docker的同志。
一、容器3W介绍
1.1 什么是容器
容器是一种轻量级、可移植、自包含的软件打包技术,使得应用程序及其需要的支持环境一起打包,以相同的方式运行在几乎任何地方。
1.2 为什么需要容器
对开发人员来说 :Build Once, Run Anywhere (一次构建,随处运行)
对运维人员来说:Configure Once, Run Anywhere(配置一次,随处运行)
1.3 容器是如何工作的
Docker主要架构包含如下要素:
- Client,客户端包含多种形式,除了常用的Docker命令行之外,还可以通过REST API的形式,客户端的作用就是为了发送指令给到Docker Host,进行一系列的操作。Client可以和Docker Host运行在一台或者不同的机器上。
- Docker Host:
- Docker Daemon,Docker的守护线程,通过接受Client的指令来对容器和镜像进行具体的操作事宜。默认情况下,只接受本地Host的Client指令。
- Image,镜像是只读属性的,通过本地制作或者从Registry拉取获得,用来生成一个或者多个容器实例,是容器的模板 。
- Container,容器实例,通过镜像运行而来,对容器的任何修改都不会影响镜像,真正对外提供服务的就是容器实例。
- Registry,镜像仓库,可以本地搭建、通常推荐使用国内大厂的镜像库,或者使用官方的DockHub镜像仓库。
它们之间的关系可用如下图表示:
Docker架构图
一个完整的工作流程如下:
- 打开Docker Client客户端,连接上Docker Host;
- 通过docker pull命令从Registry拉取镜像到本地;
- 运行docker run命令从镜像实例化一个或者多个容器实例;
二、容器技术与虚拟机技术
容器与虚拟机的比较
2.1 相同
都是一种虚拟技术,给应用提供相对独立的运行环境。它们都摆脱了对物理资源的直接依赖,相互之间以共享地方式高效地使用计算资源。
2.2 不同
虚拟机通常需要依赖Hypervisor技术,该技术可以为虚拟机分配独立的物理环境和操作系统,而容器则是基于Docker Engine直接使用宿主机的操作系统来进行虚拟资源的分配,无需再为每个虚拟单位安装Guest OS,大大减少了镜像的构建成本和运行成本。
因此,相同的物理资源下,容器能比虚拟机运行更多的虚拟单位,更加的轻量和高效。
三、如何安装Docker
3.0 一键自动安装
Docker官方和国内daocloud都提供了一键安装的脚本,使得Docker的安装更加便捷。
官方的一键安装方式:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
国内 daocloud一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
3.1 手动安装:卸载旧版本
旧版本的 Docker 被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果yum报告没有安装这些软件包,那也没关系。
3.2 安装Docker
官方推荐存储库安装方法:
注:其他安装方法——官方安装手册
在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
安装yum-utils包(提供yum-config-manager 实用程序)
yum install -y yum-utils
设置阿里云docker镜像地址为存储库(官方文档镜像地址是外网,比较慢)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新Yum 软件包索引
yum makecache fast
安装DOCKER引擎
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
启动后,可以查看docker 信息和版本,输入version命令后 查看是否有相关版本信息
docker version
docker info
3.3 配置阿里云镜像加速
官网:https://cr.console.aliyun.com/cn-beijing/instances/mirrors
相关代码
vim /etc/docker/daemon.json
## 填入阿里云镜像
{
"registry-mirrors": ["https://25o6jk0m.mirror.aliyuncs.com"]
}
重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
更多推荐
所有评论(0)