谷粒商城学习-08-linux安装docker

一,docker简介

1,初识docker

在学习和使用微服务的过程中,经常听到一个词是“容器化”,docker实现容器化的技术。

在这里插入图片描述
上图非常形象。

docker本身是软件,安装、运行在一台计算机上。

就像上面的图标所示,docker就像一艘鲸鱼船,提供一个平台,可以在这个平台上创建、摆放很多个容器。

把这些容器理解为一个一个独立的计算机,每个容器都有CPU、内存、磁盘资源,可以像操作真正的计算机一样操作容器,可以使用命令行,可以在容器里安装软件。

2,docker解决了什么痛点

2.1 模板化部署,提升部署效率,提高部署可靠性

假设有这样一个场景,一个Java微服务要部署到100台服务器构成的集群上,这个服务依赖JDK、MySQL,还要安装采集日志和JVM信息的工具。

如果没有容器,我们需要在100台机器上逐一安装,可想而知,工作量是多么大,后期的运维比如版本更新、新增软件的安装,都非常低效且风险大。

有了docker之后就不一样了,我们只要创建一个docker容器,把服务和服务相关的软件都安装好,在测试通过确保服务可以运行之后,这个docker容器就变成了一个模板,可以不限数量的拷贝到其他计算机上,拷贝的容器和最初制作的容器一样,包含已经安装好的服务及其依赖的软件。

相比以前逐一操作100台计算机,现在只需要操作一台计算机,然后把结果复制到100台计算机上,效率和可靠性都大大增强。

2.2 节约资源

如果公司使用物理机隔离不同项目,每个项目都要占用一台物理机,即便是使用虚拟机来隔离,每个虚拟机都需要运行一个完整操作系统的副本,这会占用大量的计算资源,如CPU、内存和硬盘空间。

容器比虚拟机轻得多,它们共享主机的操作系统内核,这意味着你可以用同样的资源运行更多的应用实例。

二,Docker Hub镜像仓库

Docker Hub 是 Docker 公司提供的一个公共的容器镜像仓库服务,我们可以把制作好的Docker容器上传到Docker Hub,需要时从Docker Hub下载,和手机APP的应用商店类似。

在Docker Hub上可以搜索到很多公开的制作好的Docker镜像,比如Mysql镜像,使用镜像安装MySQL,比直接在物理机或虚拟机上安装MySQL要简单很多,几条命令就可以安装成功,省去了大量耗时又容易出现错误的环节。

但是,在使用Docker容器之前,要在你的电脑上安装Docker。

三,Docker

Docker 安装文档

1,卸载之前安装的docker

sudo yum remove docker \
	docker-client \
	docker-client-latest \
	docker-common \
	docker-latest \
	docker-latest-logrotate \
	docker-logrotate \
	docker-engine

如果之前没安装过Docker,会有如下提示。
在这里插入图片描述

2,安装必须的依赖

sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2

安装的过程中可能会出现错误:Could not resolve host: mirrorlist.centos.org; Unknown error

Could not resolve host: mirrorlist.centos.org; Unknown error

Cannot find a valid baseurl for repo: base/7/x86_64

原因是无法解析默认的yum源域名,将yum源替换为阿里云即可。yum源替换为阿里云

3,设置下载docker的地址

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

这一步也可能会报错:Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo

也是因为国外域名解析问题,不用过多纠缠,使用阿里云作为docker源。

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


4,安装 docker,以及 docker-cli

sudo yum install docker-ce docker-ce-cli containerd.io

5,启动docker

sudo systemctl start docker

6,验证docker是否安装、启动成功

docker -v

7, 设置docker开机启动

sudo systemctl enable docker

问题记录

在这里插入图片描述

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error

备份当前的yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清空并生成缓存

yum clean all
yum makecache

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小手追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值