Docker基础学习
🐳 什么是Docker?
Docker是一种容器化技术,它可以帮助开发者构建、部署和运行应用程序。
🐳 Docker和传统虚拟化方式不同之处?
- 传统虚拟技术是虚拟一套硬件系后,在上面运行一个完整操作系统;
- Docker直接对宿主的进程进行隔离,运行自己的应用;
🐳 Docker的三个基本概念:镜像、容器、仓库
- 镜像:提供了容器运行时所需的依赖项,是创建Docker容器的模板;(类)
- 容器:是镜像的运行实例,是Docker应用程序的基本执行单元;(实例)
- 仓库:镜像的存储和分发中心,提供了镜像的管理和共享功能。
🐳 使用Dockerfile定制镜像
Dockerfile是一个脚本文件,描述了如何构建镜像:
- FROM命令指定基础镜像,以一个镜像为基础,在其上进行定制;
- RUN执行命令,比如shell命令;
使用Dockerfile来定制Nginx镜像:
🐳 Docker如何与与外界通信?
- 外部访问容器:通过端口映射,比如将本地主机的32768端口被映射到了容器的80端口;
- 容器互联:将容器加入自定义的Docker网络来连接多个容器;
Ref:Docker容器间通信方法
🐳 生产中Docker的使用
构建容器服务发布时:
- git-clone:下载发布分支代码到本地;
- maven-build:执行maven构建脚本,将应用达成jar/war包;
- sdk-check:一些依赖,配置检查;
- docker-build:执行dockerfile脚本,在基础镜像上进行定制镜像,并上传到仓库;
- 基于镜像部署容器;
Kubernetes基础学习
⛵ 什么是Kubernetes?
Kubernetes架构:
- Master(主节点):用来控制和管理整个集群;
- 对外提供api服务,提供管理能力;
- 在生产环境中达到高可用,要配置Master集群;
- Node(工作节点):
- Node是k8s集群中的一个工作节点,通常是一个虚拟机或物理机;
- 定期向Master节点汇报自身节点的资源使用情况;
- 每个Node上运行着多个Pod,并且包含了运行Pod所需的组件,如Kubelet、Kube-Proxy和容器运行时(如 Docker或containerd);
- Node相当于Pod的宿主机,提供计算资源(CPU、内存等)和网络连接。
Node的核心组件kubelet:
Refer:K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Namespace)、 K8s 长什么样子,一文道清它的整体架构
⛵ Kubernetes的最小工作基本单元Pod
Pod在Kubernetes集群中被创建的基本流程如下所示:
⛵ Pod的状态、健康检查
⛵ 问问AI:Node和Pod的关系?
⛵ 万字长文细说部署微服务到阿里云k8s集群
⛵ 生产中Kubernetes的使用
- 服务创建时选择具体的k8s集群:
- k8s下节点的数量:
- 服务容器组页面: