赞
踩
首先,确保你的包管理器的列表是最新的:
sudo apt update
在安装Docker之前,需要确保系统已安装以下必需的软件包,这些包帮助apt通过HTTPS使用仓库:
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
为了验证下载的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
目录下。
你需要将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能够识别和处理这个新的源。
添加了新的源之后,再次更新包列表以确保apt知道新添加的源:
sudo apt update
现在,你可以安装最新版本的Docker Engine及其依赖:
sudo apt install docker-ce docker-ce-cli containerd.io
安装完成后,检查Docker是否正确安装并运行:
sudo systemctl status docker
你还可以运行一个测试容器来验证Docker的安装:
sudo docker run hello-world
如果你希望非root用户也能运行Docker命令,可以将用户添加到docker
组:
sudo usermod -aG docker $USER
注销并重新登录,或者重启计算机以应用这些更改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。