在Ubuntu系统下安装Docker
通常来说直接按照官网教程的步骤安装即可,官网安装教程地址(以Ubuntu为例,不同Linux发行版的安装步骤可能存在不同):https://docs.docker.com/engine/install/ubuntu/
文章目录
下面是根据官网提供的在Ubuntu 22.04 (LTS)上安装Docker的教程而整理出的步骤,可以作为一个官网教程的中文参照版来进行查阅。
1.卸载可能与Docker发生冲突的旧版包
在安装Docker Engine之前,您需要卸载所有会发生冲突的软件包。
要卸载的非官方软件包是:
docker.io
docker-compose
docker-compose-v2
docker-doc
podman-docker
此外,Docker Engine将
containerd
和
runc
打包成了一个
docker.io
包,所以如果你的设备中安装了
containerd
和
runc
,你也需要卸载它们。
可以在Ubuntu中运行以下指令来卸载所有可能产生冲突的包:
forpkgin docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc;dosudoapt-get remove $pkg;done
2.配置清华镜像源
在安装Docker Engine之前,您需要配置Docker的apt仓库,以便可以从仓库中安装和更新Docker。但是,在配置Docker的apt仓库之前,我们最好先配置清华镜像源。Ubuntu配置清华镜像源的教程请移步到:【Linux】2.Ubuntu配置清华镜像源
3.设置Docker的apt仓库
在新主机上首次安装Docker Engine之前,需要先为Docker设置apt仓库,以便可以从仓库中安装和更新Docker。
可以通过逐条执行以下命令来设置Docker的apt仓库:
# Add Docker's official GPG key:sudoapt-get update
sudoapt-getinstall ca-certificates curlsudoinstall -m 0755 -d /etc/apt/keyrings
# 这一句没有魔法在国内可能会报错,可以将链接换成清华镜像源,如:# sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudocurl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudochmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:echo\"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release &&echo"$VERSION_CODENAME") stable"|\sudotee /etc/apt/sources.list.d/docker.list > /dev/null
sudoapt-get update
以下是对这些命令的详细解释:
sudo apt-get update
这个命令会更新本地包索引。apt-get
是Ubuntu中用于管理软件包的工具,update
参数会更新软件包列表,确保后续安装的软件是最新的。sudo apt-get install ca-certificates curl
这个命令安装ca-certificates
和curl
软件包。ca-certificates
包含了证书认证机构的证书,用于确保下载的软件包是可信的;curl
是一个命令行工具,用于从互联网上传输数据。sudo install -m 0755 -d /etc/apt/keyrings
这个命令创建了一个名为keyrings
的目录在/etc/apt/
下,并设置了目录权限为755
(即目录所有者具有读、写、执行权限,而组用户和其他用户只有读和执行权限)。install
命令用于创建目录并设置权限。sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
这个命令使用之前安装的curl
工具下载Docker的官方GPG密钥
,并将下载的密钥保存为/etc/apt/keyrings/docker.asc
。-f
表示如果服务器返回错误状态码,则静默失败。也就是说,如果服务器返回 4xx 或 5xx 错误码,curl 将不会显示错误消息,但仍然无法下载文件。-s
表示以静默模式运行,也就是说 curl 不会向控制台输出任何进度信息或错误消息。-S
表示如果 curl 在下载过程中出现错误,则显示错误消息。-L
表示跟随重定向,如果服务器返回重定向响应,curl 将自动跟随重定向并从新位置下载文件。sudo chmod a+r /etc/apt/keyrings/docker.asc
这个命令修改了上面下载的Docker密钥文件docker.asc
的权限,使其可以被所有用户读取。chmod
是改变文件权限的命令,a+r
表示给所有用户添加读权限。echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
这个命令的作用是将Docker的APT仓库信息添加到Ubuntu系统的/etc/apt/sources.list.d/docker.list
文件中,以便后续可以通过apt-get
命令来安装和更新Docker相关的软件包。- 其中,第一部分是:echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable"
: 这部分命令使用echo输出一个字符串,这个字符串包含了Docker APT仓库的地址和相关的GPG密钥信息。具体来说: -deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc]
: 这部分指定了仓库的类型(deb
)、仓库所支持的架构(通过dpkg --print-architecture
命令获取)以及仓库的GPG密钥文件位置(/etc/apt/keyrings/docker.asc
)。-https://download.docker.com/linux/ubuntu
: 这是Docker仓库的URL地址。-$(. /etc/os-release && echo "$VERSION_CODENAME")
: 这部分通过读取/etc/os-release
文件获取当前Ubuntu系统的版本代号(如focal、bionic等),并将其拼接到仓库地址中。- 第二部分是:| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
: 这部分命令将上一步echo
输出的字符串通过管道|
传递给sudo tee
命令。tee
命令的作用是将输入的数据同时输出到标准输出和指定的文件中。这里的指定文件是/etc/apt/sources.list.d/docker.list
,这是一个用于存放第三方APT仓库信息的文件。同时,> /dev/null
将标准输出重定向到空设备,即不显示在终端上。sudo apt-get update
再次运行sudo apt-get update
,这次是为了更新刚刚添加的Docker仓库的软件包索引。
4.安装Docker
在Ubuntu中运行以下命令即可安装最新版Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5.测试安装是否成功
此处通过运行
hello-world
镜像来测试Docker是否安装成功。命令如下:
sudo docker run hello-world
如果安装成功,会输出以下信息。由于现在国内镜像站关闭了DockerHub相关服务,所以在没有魔法的情况下不会出现
Hello from Docker!
的提示,但只要能看到
This message shows that your installation appears to be working correctly
,说明安装成功。
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
版权归原作者 Tangineer 所有, 如有侵权,请联系我们删除。