个人电脑安装配置Docker
0 前言
有些软件的构建依赖版本或高或低,系统现有的套件很可能无法正确构建,这就需要上容器了。我之前在服务器经常使用 docker 并写 docker compose,已经驾轻就熟了。现在在自己的 linux 笔记本上装 docker,用于搭建软件的编译构建环境。本文仅记录初始化 docker 的过程。
注意,我用的系统是 Debian Trixie
Debian 的 docker 版本相当老了,因此我们用后者的官方源。
1 安装
先用官方教程给的步骤添加密钥,实际上对我来说只需要第四行,其它条件都已自然满足。
sudo apt-get update
sudo apt-get install ca-certificates curl
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
由于 Docker 暂时没提供我这个发行版的仓库,我们改用 Bookworm 的仓库。
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新一下,然后装软件
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
完事后看一下 docker 有无正确安装。
$ docker -v
Docker version 26.1.3, build b72abbb
2 配置
由于我只拿来构建软件,并不经常用到 docker,遂关闭它的开机自启动。
sudo systemctl disable docker.service docker.socket containerd
另外我设置了两个快捷命令 docker-on 和 docker-off 用于方便地启停后台,追加到了用户的所有 shell 配置里。如果你只想改 zsh 的设置那就把最后一行的 .*shrc 改为 .zshrc
echo "\
\ralias docker-on=\"sudo systemctl start docker.socket docker.service containerd\"\n\
\ralias docker-off=\"sudo systemctl stop docker.service docker.socket containerd\"" \
| tee -a ~/.*shrc
将自己添加到 docker 用户组中,重启计算机以生效。
sudo usermod -aG docker $USER
接下来简单说一下我的 docker 守护进程的配置文件,其默认位置在 /etc/docker/daemon.json。对一般人来说可能用不上,而如果你比较专业,想知道更详细的内容请见 Daemon configuration file
{
"data-root": "/opt/docker",
"registry-mirrors": [
"https://hub-mirror.163.c.com",
"https://mirror.baidubce.com"
],
"runtimes": {
"youki": {
"path": "/usr/local/bin/youki"
}
}
}
- 其中第一项指定数据存储位置,注意这个目录需要提前存在,不写的话默认为
/var/lib/docker。我在/opt专门有一块硬盘分区所以选择了这个目录。 - 第二项镜像网站,不过我不太确定它们到底是否真的能继续使用了,先加上再说,反正目前官方源速度也不慢了。
- 第三项为可采用的额外的容器运行环境。docker 默认采用 Go 语言写的 runc 作为运行环境。你还可以选择 C 语言实现的 crun 或 Rust 编写的 youki 等作为运行环境,注意这些都需要提前安装,请去相应的网站查看教程,关于运行环境的其他内容详见 Alternative container runtimes.
完事了用前文定义的 docker-off && docker-on 重启一下 docker,再输入 docker info 检查上面添加的内容是否生效。用
docker run hello-world
看看一切是否如期进行。到这里应该就配置结束了。
工具
一个导航站 Awesome Docker,囊括了几乎所有 Docker 周边,强烈推荐翻一翻。
Docker 最好的GUI界面是官方提供的 Docker Desktop,不过由于这玩意是闭源的而且使用起来有些重,我作为开源信徒且只是拿笔记本上的 docker 当编译环境使,用简单开源的TUI界面足矣。当然,这些管理器也确实很简单,甚至可以说有点简陋,基本上只能拿来查看信息,而难以拿来创建一个容器。至于服务器,有开源的网页界面 Portainer CE 可以使用。
在继续之前,先保证 ~/.local/bin 在 PATH 内。
echo "export PATH=\$PATH:\$HOME/.local/bin" | tee -a ~/.*shrc
source ~/.*shrc
接下来介绍几个工具,这些都是近期仍在维护的。它们有很多安装方式,仅举推荐方案。这些软件的启动方式都是直接输入它们的名字。
- lazydocker 是Go编写的、目前流传最广、维护最活跃的查看器,因为这玩意虽说运行在终端里,但也可以很舒服地使用鼠标。只是基本操作不了什么东西,除此之外绝大部分信息都能查看,能直观地监测性能。界面美观可读性好、交互性强,docker 浏览器首选这个。
![]()
一行安装,记得挂梯子
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
- dry 是Go编写的、应该在本文所提工具里功能最多、信息最全的管理器了,还支持 docker swarm,启停容器是完全够用了。不过图形界面和可读性不如前者,而且没有直观的性能监测界面。使用官方的方式安装:
curl -sSf https://moncho.github.io/dry/dryup.sh | sudo sh
sudo chmod 755 /usr/local/bin/dry
但不知道为什么,我一开始在下载就卡住了,挂梯子也不行。于是我直接从 Release 页面下了现成的可执行文件放到了 ~/.local/bin 然后重命名了一下。
- oxker 是Rust编写的监测工具,很适合用来观察当前容器的运行状态,并进入容器打些命令。主要也就这些功能了,别的也没啥。脚本安装:
https://github.com/mrjackwills/oxker/blob/main/install.sh
我用 Cargo 安装的,需要注意的是目前 Debian Testing 及以下尚不支持 cargo v1.74+,因此我删了原来的,从 Unstable 仓库安装了 cargo(需要提前加这个仓库),然后才安装的 oxker.
sudo apt remove cargo && sudo apt autoremove
sudo apt install -t unstable cargo
cargo install oxker
ln -s ~/.cargo/bin/oxker ~/.local/bin/oxker
- composerize 把 docker 的一行命令给转换成 docker compose 的小工具,网页使用足矣,虽说它也能本地部署。
我倒是挺想要一个创建容器的图形化界面,奈何没找到。其它的话以上工具已经基本满足我本地构建的需求了。服务器的需求确实要更复杂一些,不过那是另外的话题了,不作延伸。


浙公网安备 33010602011771号