文章目录
- 使用 apt install docker.io 安装
- 使用 apt install docker-ce 安装
- 常见问题
- 参考文章
在 Ubuntu 系统上,安装 Docker 的常见方式有两种,使用 apt install docker-ce
和 apt install docker.io
这两个命令。
-
使用
apt install docker-ce
安装:
通过这个命令安装的 Docker CE(Community Edition,社区版)是由 Docker 公司直接在其官方网站 docker.com 提供的版本。Docker CE 是一个开源的、社区驱动的版本,专为个人开发者、小型团队以及企业开发和测试环境设计。它包含了最新的功能更新和改进,适合那些需要最新 Docker 特性的用户。 -
使用
apt install docker.io
安装:
在 Debian 和 Ubuntu 等基于 Debian 的系统中,docker.io
是 Docker 软件包的传统名称。尽管名称不同,但实际上docker.io
通常也是 Docker CE 的一个版本,由 Docker 公司提供,并在 Debian 仓库中可用。这意味着,即使使用docker.io
作为软件包名称进行安装,你得到的也是 Docker CE 的功能和更新。
总的来说,不论是通过 docker-ce
还是 docker.io
安装,用户在 Ubuntu 上得到的都是 Docker CE 的体验。两者的主要区别在于软件包的命名和来源渠道,但在功能和用途上是一致的。
使用 apt install docker.io 安装
在 Ubuntu 系统上使用 apt install docker.io
命令安装 Docker 的步骤如下:
-
更新软件包索引:
在安装 Docker 之前,首先更新你的软件包索引:sudo apt update
-
安装 Docker:
使用apt install
命令安装 Docker:sudo apt install docker.io
-
验证 Docker 是否安装成功:
安装完成后,使用以下命令验证 Docker 是否成功安装:sudo docker --version
-
启动 Docker 服务:
如果 Docker 服务没有自动启动,你可以使用以下命令手动启动它:sudo systemctl start docker
-
设置 Docker 开机自启:
使用以下命令设置 Docker 服务开机自启动:sudo systemctl enable docker
-
检查 Docker 服务状态:
使用以下命令检查 Docker 服务的状态,确保它正在运行:sudo systemctl status docker
-
运行 Docker 测试镜像:
为了确保 Docker 能够正常工作,尝试运行一个测试镜像:sudo docker run hello-world
-
卸载 Docker:
使用apt remove
命令卸载 Docker:sudo apt remove docker docker-engine docker.io containerd runc
清理 Docker 配置文件和数据:
sudo rm -rf /var/lib/docker sudo rm -rf /etc/docker
使用 apt install docker-ce 安装
在Ubuntu上使用 apt install docker-ce
安装 Docker CE(Community Edition)的步骤如下:
-
安装依赖包:
在安装 Docker 之前,你需要安装一些依赖包,这些包允许apt
使用 HTTPS 来获取软件包:sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
添加 Docker 的官方 GPG 密钥:
一般可以添加 Docker 官方 GPG 密钥到你的
/etc/apt/trusted.gpg
中,以确保下载的软件包是经过验证的:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
但是由于网络限制原因, 需要把Docker 官方的 GPG换成国内的镜像源 GPG, 比如阿里镜像:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
验证密钥是否添加成功,你可以使用
apt-key list
命令来列出所有已添加到系统的 GPG 密钥,确认 Docker 的密钥是否在列表中, 出现下面内容说明添加成功。/etc/apt/trusted.gpg -------------------- pub rsa4096 2017-02-22 [SCEA]9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <docker@docker.com> sub rsa4096 2017-02-22 [S]
-
添加 Docker 软件源:
一般添加 Docker 官方的软件源到你的/etc/apt/sources.list
:sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
但是由于网络限制原因, 需要把 Docker 官方的软件源换成如 阿里镜像 软件源:
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
-
再次更新软件包索引:
添加了新的软件源后,更新你的软件包索引:sudo apt update
-
安装 Docker CE:
使用apt install
命令安装 Docker CE:sudo apt install docker-ce docker-ce-cli containerd.io
-
验证 Docker CE 是否安装成功:
安装完成后,使用以下命令来验证 Docker CE 是否安装成功:sudo docker --version
-
启动 Docker 服务:
如果 Docker 服务没有自动启动,你可以使用以下命令手动启动它:sudo systemctl start docker
-
设置 Docker 开机自启:
使用以下命令设置 Docker 服务开机自启动:sudo systemctl enable docker
-
检查 Docker 服务状态:
使用以下命令检查 Docker 服务的状态,确保它正在运行:sudo systemctl status docker
-
运行 Docker 测试镜像:
为了确保 Docker 能够正常工作,尝试运行一个测试镜像:sudo docker run hello-world
-
卸载 Docker:
使用apt remove
命令卸载 Docker:sudo apt remove docker-ce docker-ce-cli containerd.io
清理 Docker 配置文件和数据:
sudo rm -rf /var/lib/docker sudo rm -rf /etc/docker
以上步骤应该可以帮助你在 Ubuntu 系统上成功安装 Docker CE。如果在安装过程中遇到任何问题,可以查看相关日志文件或使用 journalctl
命令查看系统日志来诊断问题。
常见问题
-
如何查看apt装了哪些包?
- 使用
dpkg
命令可以列出系统上所有已安装的软件包及其状态:dpkg -l
- 使用
apt list
命令, 它可以列出所有已安装的软件包:apt list --installed
- 使用
-
Docker安装相关目录有哪些?
Docker 的可执行文件、数据、配置、日志等文件分布在不同的目录。以下是这些文件的常见存放位置:-
Docker 可执行文件:
/usr/bin/docker
:Docker 命令行工具的可执行文件通常位于/usr/bin/
目录。 -
Docker Compose 可执行文件(如果安装):
/usr/local/bin/docker-compose
或/usr/bin/docker-compose
:Docker Compose 的可执行文件,可能位于/usr/local/bin/
或/usr/bin/
目录。 -
Docker 守护进程可执行文件:
/usr/bin/dockerd
:Docker 守护进程的可执行文件。 -
配置文件目录:
/etc/docker/
:包含 Docker 守护进程的配置文件,如daemon.json
。 -
数据目录:
/var/lib/docker/
:包含 Docker 镜像、容器、卷和网络的数据。 -
容器数据子目录:
/var/lib/docker/containers/
:存储容器的持久数据和日志文件。 -
镜像数据子目录:
/var/lib/docker/image/
:存储 Docker 镜像的层数据。 -
卷数据子目录:
/var/lib/docker/volumes/
:存储用户定义的命名卷。 -
网络数据子目录:
/var/lib/docker/network/
:存储 Docker 网络的配置信息。 -
日志文件目录:
/var/log/docker/
:如果配置为将日志写入文件,Docker 容器的日志可能会存放在这里。但许多情况下,日志通过 Docker 守护进程发送到journald
。 -
服务定义文件:
/lib/systemd/system/docker.service
或/etc/systemd/system/docker.service
:Docker 服务的 systemd 服务单元文件。 -
GPG 密钥目录:
/usr/share/keyrings/
或/etc/apt/trusted.gpg.d/
:存储 Docker 软件源的 GPG 密钥。 -
临时文件目录:
/tmp/
或/var/tmp/
:Docker 在构建镜像或运行容器时,可能会使用这些目录存储临时文件。
请注意,这些路径可能会根据你的具体系统配置和 Docker 版本有所不同。例如,某些安装源可能将 Docker 的可执行文件放在不同的目录,或者你可能将 Docker 的数据目录配置为其他位置。
-
参考文章
Ubuntu Docker 安装
docker.io 和 docker-ce 区别
What is docker.io in relation to docker-ce and docker-ee (now called “Mirantis Kubernetes Engine”)?
如何在Ubuntu 18.04上安装Docker
Ubuntu 22.04下Docker安装(最全指引)