macOS+VirtualBox+Ubuntu搭建K8s集群(二): 安装Docker及Docker Compose

165 阅读3分钟

上一篇文章中我们创建了虚拟机基础镜像,本文将在该基础镜像的基础上安装Docker及Docker Compose.

安装Docker

安装Docker的方式有:

  1. Docker Desktop for Linux
  2. APT仓库
  3. 手工
  4. 脚本

本文采用第二种方式来安装Docker.

配置APT

  1. 安装依赖项

首先,需要确保系统已经安装了必要的依赖项。请使用以下命令更新已经安装的软件包列表并安装所需的软件包:

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
  1. 添加Docker官方GPG密钥以确保下载的Docker软件包的完整性和真实性。
# 国内
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

## 官网
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 向apt仓库添加Docker软件源:
# 国内
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 官网
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装Docker

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证是否安装成功

docker version
Client: Docker Engine - Community
 Version:           23.0.3
 API version:       1.42
 Go version:        go1.19.7
 Git commit:        3e7cbfd
 Built:             Tue Apr  4 22:05:48 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.3
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.7
  Git commit:       59118bf
  Built:            Tue Apr  4 22:05:48 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.20
  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc:
  Version:          1.1.5
  GitCommit:        v1.1.5-0-gf19387a
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

配置Docker

镜像源加速

  1. 编辑/创建daemon.json文件.
sudo vim /etc/docker/daemon.json
  1. 添加如下内容,必须符合Json规范:
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://gcr-mirror.qiniu.com"
  ],
  "exec-opts":["native.cgroupdriver=systemd"]
}
  1. 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 验证配置
sudo docker run -d -p 8080:80 nginx

在虚拟机浏览器中访问 http://localhost:8080 来查Nginx欢迎网页,或者在宿主主机中用浏览器访问http://192.168.56.2:8080,其中192.168.56.2为虚拟机的IP地址。

开机启动

sudo systemctl enable docker

升级Docker

sudo apt update

卸载Docker

  1. 通过apt卸载docker
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
  1. 主机上的镜像、容器、卷或自定义配置文件不会自动删除,所以必须手动删除
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

安装 Docker Compose

APT仓库安装

sudo apt install -y docker-compose-plugin
docker compose version

之前在用APT安装Docker时其实已经安装了Docker Compose.注意,这里采用APT方式安装的Docker Compose是作为Docker子命令来安装的其路径为/usr/libexec/docker/cli-plugins/docker-compose.虽然这里单独写出来,但还是推荐在安装Docker的同时安装Docker Compose.

二进制安装

  1. 官方 Github Release查看版本
  2. 下载二进制文件,将命令中[version]替换为指定版本,例如:v2.17.2(不要忘记v)
# 国内
sudo curl -L "https://download.fastgit.org/docker/compose/releases/download/[version]/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 官网
sudo curl -L "https://github.com/docker/compose/releases/download/[version]/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
  1. 查看Docker Compose
docker-compose version
# Docker Compose version v2.17.2

注意,这里用的是docker-compose而不是docker compose(作为docker子命令).

卸载Docker Compose

APT方式

sudo apt purge docker-compose-plugin

二进制方式

sudo rm /usr/local/bin/docker-compose

总结

本文在虚拟机基础镜像的基础上安装了Docker及Docker Compose,请在正常关闭虚拟机后创建新快照:

image.png

参考链接