前言
随着现代应用开发的快速发展,容器化技术和Kubernetes成为了关键的工具,为开发者提供了灵活、可扩展的部署和管理方式。本文旨在为读者提供安装和使用Docker、Colima、kubectl以及Minikube的详细指南,同时介绍常用的命令,使其能够轻松驾驭这些强大的工具。
Docker
简介
Docker是一种利用Google公司推出的Go语言开发的容器化技术,它基于Linux内核的cgroup、namespace以及OverlayFS等技术,实现对进程的封装和隔离,属于操作系统层面的虚拟化技术。通过这些技术,Docker能够将应用程序及其依赖项打包为独立的容器,使其在不同环境中具备一致性和可移植性。最初版本使用了LXC,但从0.7版本开始逐步移除LXC,转而采用自行开发的libcontainer。随着发展,从1.11版本开始,Docker进一步演进,采用了runC 和 containerd。
安装
# 不要加 --casks 安装GUI的 docker desktop, 它太重,需要账号登录和收费。
$ brew install docker
常用命令
# 查看版本号
$ docker --version
# 查看配置信息
$ docker info
# 显示所有容器
$ docker ps -al
# 显示所有镜像
$ docker images
# 删除某个镜像
$ docker rmi <image_id>
# 暂停某个容器
$ docker stop <image_name>
# 启动某个容器
$ docker start <image_name>
Docker-compose
简介
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许通过一个单独的配置文件(通常称为docker-compose.yml)来定义应用程序的服务、网络和卷等元素,以及它们之间的关系和配置选项。通过使用Docker Compose,用户可以轻松地启动、停止和管理整个多容器应用程序。
安装
$ brew install docker-compose
配置插件
# 创建目录
$ mkdir -p ~/.docker/cli-plugins
# 设置软链接
$ ln -sfn $(brew --prefix)/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose
# 测试
$ docker compose version
常用命令
# 查看版本号
$ docker-compose version
Docker-buildx
简介
Docker Buildx是Docker官方提供的一个用于增强Docker镜像构建的工具,它在Docker CLI的基础上提供了一些额外的功能,使得构建和管理多平台和多架构的镜像更为方便。
安装 & 配置
# 安装 docker-buildx
$ brew instal docker-buildx
# 设置软链接
$ ln -sfn $(brew --prefix)/opt/docker-buildx/bin/docker-buildx ~/.docker/cli-plugins/docker-buildx
# 测试
$ docker buildx version
Colima
简介
Docker在macOS上通常需要依赖虚拟机技术,而自2020年Big Sur版本发布后,macOS引入了名为Virtualization Kit的虚拟机框架,使开发者能够创建Linux环境。尽管Docker Desktop利用这一框架,但其资源消耗较大,商业使用可能涉及购买费用。作为替代方案,Colima是一个令人满意的选择。Colima的名字源自”Container on Lima”,其中Lima是一个虚拟机工具,提供自动文件共享、端口转发以及containerd容器运行时。Colima实际上通过Lima启动虚拟机,并在其中使用containerd来管理容器。这一集成方案为macOS用户提供了更轻量、高效的容器化环境,使得在本地开发和测试容器应用变得更加便捷。
安装
$ brew install colima
常用命令
# 查看版本号
$ colima version
# 指定资源配置启动
$ colima start --cpu 4 --memory 4 --disk 10 --mount-type 9p
# 启动
$ colima start
# 停止
$ colima stop
# 查看版本号
$ colima version
# 查看状态
$ colima status
# 重启
$ colima restart
# 通过ssh连接到 Colima
$ colima ssh
# 显示所有实例
$ colima list
配置国内源
$ colima start --edit
# 找到docker那块信息,替换成如下
# Colima default behaviour: buildkit enabled
# Default: {}
docker:
registry-mirrors:
- https://registry.docker-cn.com
- http://hub-mirror.c.163.com
- https://docker.mirrors.ustc.edu.cn
kubectl
简介
kubectl是Kubernetes的命令行工具,用于与Kubernetes集群进行交互和管理。通过kubectl,用户可以执行各种操作,包括创建、管理和监视Kubernetes资源。
安装
$ brew install kubectl
常用命令
# 查看版本
$ kubectl version --client
minikube
简介
类似于kind,一个可以在本地运行k8s集群的工具,便于日常的开发工作。
安装
$ brew install minikube
# 启用metrics-server, minikube dashboard 需要
$ minikube addons enable metrics-server
使用
-
启动 & 验证
# 设置默认的driver
$ minikube config set driver docker
# 首次启动
$ minikube start --image-mirror-country='cn' --image-repository='auto' --alsologtostderr
# 如果失败,加上“--alsologtostderr”查看具体的错误信息
$ minikube start --image-mirror-country='cn' --image-repository='auto'
# 启动
$ minikube start
# 验证
$ kubectl get po -A
-
关于停止
# 不能通过 stop 来关闭集群,会丢失创建好的环境信息
$ minikube stop
# 通过 pause & unpause 来暂停和取消暂停
$ minikube pause
$ minikube unpause
-
查看状态
$ minikube status
-
打开k8s面板
$ minikube dashboard
-
删除
$ minikube delete --all --purge
整体环境的启动和停止
启动
$ colima start
$ docker run minikube
$ minikube unpause
停止
$ minikube pause
$ docker stop minikube
$ colima stop
总结
本文档详细介绍了Docker、Colima、kubectl和Minikube的安装步骤以及常用命令。通过这些工具,大家能够快速上手容器化开发,构建轻量化的容器环境,并在本地进行灵活的K8S集群管理。