Docker Desktop及Kubernetes安装

简介: 上一节的话,我们主要介绍了Docker和Kubernetes的产生以及其发展,那么本节,我们就来尝试一下Docker和Kubernetes的安装吧。

在开始之前,有几点先在这里说下:

考虑到大部分的小伙伴都没有mac神器,因此,我这里选择的环境是windows10系统,因此选择安装的是Docker For Windows,

Docker for Mac的小伙伴可以参考借鉴本文,但具体的流程还需移步到其他文章啦。

另外,Docker for Windows的安装要求Windows 10 64位:专业版,企业版或教育版(Build 15063或更高版本),因此如果是家庭版的小伙伴,首先需要考虑将系统升级成专业版,或者参考网上家庭版安装Docker的文章进行初步设置再回看本文。

那么,废话不多说了,下面就正式进入安装环节吧。


Docker For Windows安装

浏览器输入https://www.docker.com/get-started,嗯,没错,回车后就是如下页面。

如图,所示,直接点击红框中的即可开始下载。下载完成后如下

1694171311662.png

到这里,你知道咋整吧,直接双击搞开她,然后,她就会给你展示点东西了,比如


1694171340768.png

直接点击ok,就足以让她疯狂起来,比如

1694171350595.png

再比如

1694171360693.png

再比如

1694171371814.png

到此大功告成。现在,她是你的了,你可以关上门自己欣赏了。

开始里搜索Docker for Windows,然后点开,你会发现在,在右下角出现一个很小巧的背着好多箱子的鲸鱼


右键,我们就能看到她提供的服务项目

既然要体验人家的服务,那就应该办个会员吧,所以此处,我们需要创建一个DockerHub账号了,这是一个Docker仓库,我们可以从仓库里下载很多的docker image(镜像)。比如我们下节要学习的例子,很多就是直接从这里拉取(pull是一个编程行话,可以理解成下载,在git等中也有)的。

之所以选择此时创建,其实是因为此时桌面会有一个弹窗,显示welcome,并让你注册账号,所以就顺便选择注册了,一劳永逸嘛,如果不小心被你叉掉了,那也可以通过点击上图中的Sign in/Create Docker ID...来创建,注册过程就不多说了。

登录完成后,我们先中场休息,来看一下Docker的一些基本信息,以保存好精力并更高地和她深入交流。

这里,点击上图右键菜单中的About Docker Desktop,可以看到,我们安装的Docker的一些版本信息,我标出了常用的几个。

到这里,我们已经完成了Docker for Windows的安装,从图中可以看到,它对应的是Kubernetes的1.15.5版本,那么,我们下一步就该安装Kubernetes了。



安装Kubernetes

是不是觉得很顺利,安装真是so easy,当你这么觉得的时候,一般马上就要掉坑啦!!!

正常来说,因为docker for Windows内置了Kubernetes,如果我们要启用Kubernetes功能,只需要右键docker ,点击settings,


按图中所示,选中选项,直接apply就可以了,docker会自动从DockerHub中寻找匹配的镜像并下载,但是,特别注意一定不要直接操作这一步。如果你真的这么做了,那么可能会出现下图这种情况,注意啦!

界面会一直卡在这里,动也动不了,关也管不掉,然后就免不了一番折腾了,其实,这个并不是什么配置问题导致的,而是因为,docker内置的Kubernetes的镜像下载需要翻墙,没错,就是这么坑,如果你被墙了就会这样,而如果你在墙外,那么恭喜,你可以顺利搞定了。如果你遇到这种情况,别急,跟着以下的正常流程操作,完成之后重启docker即可。

为了保险起见,我们首先配置国内的镜像加速源,如下,是我的配置

"https://registry.docker-cn.com",
"https://323jogpi.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"

此处需要注意的是,阿里云的地址可能因地区而异,若以上地址不能使用,可通过https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors获取正确的镜像地址。将得到的地址替换即可。

到此,其实我们就可以按上图所示选中配置,直接点击Apply来启用Kubernetes并愉快的玩耍了。等待的过程总是比较焦急的,你懂得。



如果正常安装到以上步骤仍不成功或属于上述提到的在未配置源的情况下直接点击了Apply的情况,请接着执行以下步骤。



由于资源被墙,我们需要手动配置镜像源来拉取镜像,这里,我们首先创建一个镜像对应表文件 images.properties

k8s.gcr.io/pause:3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
k8s.gcr.io/kube-controller-manager:v1.15.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.15.5
k8s.gcr.io/kube-scheduler:v1.15.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.15.5
k8s.gcr.io/kube-proxy:v1.15.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.5
k8s.gcr.io/kube-apiserver:v1.15.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.15.5
k8s.gcr.io/etcd:3.3.10=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1=registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1
quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1=registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:0.26.1

然后在相同目录下,创建拉取镜像的脚本文件docker-images-k8s.ps1:(docker for Mac该文件不同)

foreach($line in Get-Content .\images.properties) {
$data = $line.Split('=')
$key = $data[0];
$value = $data[1];
    Write-Output "$key=$value"
    docker pull ${value}
    docker tag ${value} ${key}
    docker rmi ${value}
}

当然,也可以直接从https://pan.baidu.com/s/1j0F2VoKTHo0wVUUhZ458Lw下载,提取码:ehdf ,下载包中的2个文件,放到同一目录下,

创建完成或下载完成后,执行如下操作

若提示安全策略,则输入y即可,之后,即进入到下载Kubernetes的环境,

稍等一片二片...好多片刻后即可完成,之后,在打开docker for Windows,即可看到docker和Kubernetes都运行起来了。

执行该步骤之前查看kubectl和执行步骤后查看kubectl对比(该命令是操作kubernetes的命令工具,在安装docker时已经内置了)

(执行前)

(执行后)


那么恭喜你,你已经成功搞定了她。

还有还有一种情况是,其实Kubernetes已经正常安装,但是仍没启动,这时,若工作台页面如下所示,

证明其实已经安装完成,可能还在启动或启动异常,此时,我们可以选择退出程序,重新启动程序即可

至此,我们已经成功的安装了Docker和Kubernetes。工欲善其事必先利其器,好的开发工具和环境能有效的减少后期莫名其妙的坑。

本节的内容就到此吧,本节主要介绍了Docker和Kubernetes的安装以及安装过程中需要注意的问题,下一节的话,我们来开始学习如何使用Docker和Kubernetes吧。


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
7月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1275 3
docker 安装 Postgres 17.6
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
765 6
|
6月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
614 2
|
9月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
3761 0
|
6月前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
586 1
|
6月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
404 89
|
11月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
803 9