为Debian系列Linux安装Docker

Docker 是一种非常流行的容器封装技术,使用 Docker image 可以轻松部署和迁移在当前系统下已经安装好的项目,而无需再重新配置项目依赖。

在 Debian GNU Linux 系统下使用默认源 apt get 来安装 Docker 往往会安装一个旧版的 Docker 以及 Docker compose,当然也包括部分旧版的docker-compose;

本教程将会讲述如何卸载 Debian 自带源的旧版 Docker 以及安装官网最新版,和实现自主更新到最新 Docker 和 Docker compose 版本。
 

1、停用和卸载系统自带的docker:

由于 Debian 自带源的 Docker 为旧版,而且版本更迭缓慢,所以首先卸载干净系统已安装的 Docker。

停止并禁用Docker:
systemctl stop docker && systemctl disable docker

清除Docker和关联软件包:
apt purge -y docker docker-engine docker.io containerd runc docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

清除残留配置文件:
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
rm /etc/docker/daemon.json

强烈建议完成上述卸载步骤后执行 reboot 重启当前系统。
 
2、更新源以及添加Docker官方源:

首先需要更新以下 Debian 的软件源以及安装依赖,再添加 Docker 的官方源到系统内置列表。

更新系统软件包列表:
apt update && apt install -y ca-certificates curl gnupg

安装官方源的key:
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg

添加官方源到系统源列表:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

此时再更新系统源软件包的时候就会自动代入Docker的官方源,更新也会和官方发布的一样。
 
3、更新源并安装最新版Docker:

此时就可以正常安装最新版 Docker 和 Docker compose 了。

更新系统软件包列表:
apt update

安装docker以及其他组件:
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

此时安装已经完成,可以通过以下命令来查看 Docker 和 Docker compose 版本号

docker version
docker compose version

之后需要更新 Docker 和 Docker compose 的话只需要执行 apt update && apt upgrade 即可。
 
4、关于docker-compose的一些说明:

很多网络上的教程都会使用 docker-compose 来运行 compose 项目,但其实官方最新版已经是推荐直接使用 docker compose 来运行项目了,

其实两者本质上没有任何功能上的区别,只是多了一个横线,不过为了某些一键脚本的兼容性考虑这里也提供一下单独安装 docker-compose 的步骤。

到GitHub下载最新版本docker-compose文件:
curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予可执行权限:
chmod +x /usr/local/bin/docker-compose

这里要注意的是 v2.20.3 这个版本是本文发布时的版本号,具体的最新版本则需要根据当时情况到 Github 查看最新版本号来下载。
 
5、另外附上一些基础docker命令:

Docker 命令:

开启并自启动Docker:
systemctl enable docker && systemctl start docker

重启docker服务:
systemctl daemon-reload && systemctl restart docker

停止并关闭自启动Docker:
systemctl disable docker && systemctl stop docker

停止并关闭自启动containerd:
systemctl disable containerd && systemctl stop containerd

显示docker容器:
docker ps -a

停止docker容器:
docker stop XXX

删除docker容器:
docker rm XXX

显示docker镜像:
docker image ls

删除docker镜像:
docker image rm XXX

查看docker网卡:
docker network ls

创建docker网卡:
docker network create XXX

查看docker volume:
docker volume ls

清除全部docker镜像:
docker system prune && docker container prune && docker image prune && docker volume prune && docker network prune

Docker compose命令:

创建compose文件:
nano docker-compose.yml

当前目录启动 docker compose:
docker compose up -d

当前目录停止 docker compose:
docker compose down

重启指定 docker compose 容器:
docker compose restart XXX

当前目录更新 docker compose 的 image
docker compose pull

以上是部分 Docker 以及 Docker compose 的部分基础命令,应该可以满足大部分的日常操作,如果需要更多命令请搜索资料或者观看 Docker 的教学视频。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

6 + 4 =