在上一篇文章中我们创建了虚拟机基础镜像,本文将在该基础镜像的基础上安装Docker及Docker Compose.
安装Docker
安装Docker的方式有:
本文采用第二种方式来安装Docker.
配置APT
- 安装依赖项
首先,需要确保系统已经安装了必要的依赖项。请使用以下命令更新已经安装的软件包列表并安装所需的软件包:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
- 添加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
- 向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
镜像源加速
- 编辑/创建
daemon.json文件.
sudo vim /etc/docker/daemon.json
- 添加如下内容,必须符合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"]
}
- 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
- 验证配置
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
- 通过apt卸载docker
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
- 主机上的镜像、容器、卷或自定义配置文件不会自动删除,所以必须手动删除
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.
二进制安装
- 在官方 Github Release查看版本
- 下载二进制文件,将命令中
[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
- 授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
- 查看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,请在正常关闭虚拟机后创建新快照: