文章目录
本文是在Debian系统上安装Docker时设置稳定仓库的详细步骤:
1. 更新现有的包列表
首先,确保你的包管理器的列表是最新的:
sudo apt update
2. 安装必要的软件包
在安装Docker之前,需要确保系统已安装以下必需的软件包,这些包帮助apt通过HTTPS使用仓库:
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
3. 添加Docker的官方GPG密钥
为了验证下载的Docker包的真实性,需要添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
这一步会下载Docker的公钥,并使用gpg --dearmor
命令将其转换为适用于apt的格式,存储在/usr/share/keyrings
目录下。
4. 设置Docker稳定版仓库
你需要将Docker的仓库地址添加到系统的apt源列表中。首先,创建一个新的文件docker.list
在/etc/apt/sources.list.d/
目录下:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
这个命令做了以下几件事:
- 使用
echo
命令构造源配置字符串。 $(dpkg --print-architecture)
获取系统架构。$(lsb_release -cs)
获取当前Debian发行版的代号。tee
命令将这些信息写入/etc/apt/sources.list.d/docker.list
文件中,以便apt可以读取这个新的源。
若报错
E: Type 'echo' is not known on line 1 in source list /etc/apt/sources.list.d/docker.list
E: The list of sources could not be read.
报错解决办法如下
出现这个错误通常意味着在创建 /etc/apt/sources.list.d/docker.list
文件时,命令的输出格式存在问题,使得APT无法正确解析文件。这可能是由于命令格式或执行方式导致的。为确保没有其他干扰因素,可以用一个更简单、直接的方法手动添加所需的仓库,创建或修改 docker.list
文件:
手动编辑 docker.list
文件
-
打开终端,使用一个文本编辑器手动打开或创建
docker.list
文件。这里我们使用nano
,你也可以使用任何你熟悉的文本编辑器,比如vim
或gedit
。sudo nano /etc/apt/sources.list.d/docker.list
-
手动输入以下内容,替换
<your_debian_version>
为你的Debian版本代号,比如buster
,stretch
,bullseye
等。如果你不确定你的Debian版本,可以通过运行lsb_release -cs
来查看:deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian <your_debian_version> stable
确保你手动输入这行内容,不要复制粘贴命令输出。这样可以避免潜在的格式或隐藏字符问题。
-
保存并关闭文件:
- 如果你使用
nano
编辑器,按Ctrl+X
退出编辑器,然后按Y
确认保存更改,最后按Enter
保存文件。
- 如果你使用
-
更新APT源:
更新你的软件包列表,确保没有错误:sudo apt update
如果在执行 sudo apt update
时没有报错,说明你的 docker.list
文件已经正确设置,APT能够识别和处理这个新的源。
5. 再次更新软件包列表
添加了新的源之后,再次更新包列表以确保apt知道新添加的源:
sudo apt update
6. 安装Docker Engine
现在,你可以安装最新版本的Docker Engine及其依赖:
sudo apt install docker-ce docker-ce-cli containerd.io
7. 验证Docker安装
安装完成后,检查Docker是否正确安装并运行:
sudo systemctl status docker
你还可以运行一个测试容器来验证Docker的安装:
sudo docker run hello-world
8. (可选)允许非root用户执行Docker命令
如果你希望非root用户也能运行Docker命令,可以将用户添加到docker
组:
sudo usermod -aG docker $USER
注销并重新登录,或者重启计算机以应用这些更改。
文章评论