451 字
2 分钟
Debian 11安装Docker与Docker Compose完整指南

Debian 11 安装 Docker 与 Docker Compose#

在 Debian 11 上安装 Docker,用官方 APT 仓库是最稳妥的方案。相比直接 apt install docker.io,官方仓库能拿到最新版本,后续更新也方便。

清理旧版本#

如果之前装过非官方版本,先卸载避免冲突:

Terminal window
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do
sudo apt-get remove $pkg
done

添加官方仓库#

安装必要的依赖:

Terminal window
sudo apt-get update
sudo apt-get install ca-certificates curl

添加 Docker GPG 密钥:

Terminal window
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

添加仓库源:

Terminal window
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker#

更新包索引并安装:

Terminal window
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

注意现在的 Docker Compose 是作为 CLI 插件提供的,命令是 docker compose 而不是旧版的 docker-compose

验证安装#

测试 Docker 是否正常运行:

Terminal window
sudo docker run hello-world

检查 Compose 版本:

Terminal window
docker compose version

免 sudo 配置#

默认需要 sudo 运行 Docker 命令。把当前用户加入 docker 组:

Terminal window
sudo usermod -aG docker $USER

执行完后需要重新登录或运行:

Terminal window
newgrp docker
安全提示

将用户加入 docker 组等同于赋予该用户 root 权限,因为可以通过容器挂载主机根目录。只在可信机器上这样做。

基础 compose 模板#

测试环境是否正常工作的最小配置:

docker-compose.yml
version: '3'
services:
nginx:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stopped

启动:

Terminal window
docker compose up -d

访问 http://localhost:8080 测试。

常用命令速查#

Terminal window
# 查看容器状态
docker ps
# 查看日志
docker logs 容器名
# 进入容器
docker exec -it 容器名 /bin/sh
# 停止并删除所有容器
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
# 清理未使用的镜像
docker image prune

参考链接#

Debian 11安装Docker与Docker Compose完整指南
https://im.awsl.app/posts/system-ops/033-debian-docker/
作者
uu
发布于
2024-08-20
许可协议
CC0 1.0