> 技术文档 > Docker在Linux上的部署安装教程_linux安装docker

Docker在Linux上的部署安装教程_linux安装docker


一、前言

Docker是一种开源的‌容器化平台‌,用于快速构建、打包、分发和运行应用程序。它通过轻量级的“容器”技术,将应用及其依赖环境(如库、配置文件等)打包成一个标准化、可移植的单元,实现‌“一次构建,随处运行”‌的目标。docker采用轻量级的虚拟化技术,基于主机操作系统内核运行,共享资源但相互隔离。相比传统虚拟机(VM),启动更快、占用资源更少。

二、安装步骤

0.硬件要求

这里以笔者的 Ubuntu 24.04.2 LTS 笔记本,内存32G为例进行安装说明。

1. 更新系统包

解释

sudo apt updatesudo apt upgrade -y 

注意:运行这两条命令是必要的,否则后面安装包可能提示找不到包

2. 安装 Docker 依赖

解释

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

这些是用于 HTTPS 传输支持、证书管理以及添加新的仓库所需的依赖项。

3. 添加 Docker 官方 GPG 密钥

解释

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

下载 Docker 的官方 GPG 密钥并将它添加到系统的密钥环中,以验证从 Docker 官方仓库下载的软件包的真实性。

4. 添加 Docker 仓库

解释

echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

创建一个新的 APT 软件源列表文件/etc/apt/sources.list.d/docker.list,该文件包含了 Docker 官方仓库的信息。这允许通过标准的 APT 工具来安装 Docker。

5. 安装 Docker CE

解释

sudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.iosudo systemctl start docker && sudo systemctl enable docker
  • sudo apt update:再次更新软件包列表,这次包含新添加的 Docker 仓库。
  • sudo apt install -y docker-ce docker-ce-cli containerd.io:安装 Docker 社区版 (docker-ce) 及其 CLI 工具 (docker-ce-cli) 和容器运行时 (containerd.io)。
  • sudo systemctl start docker && sudo systemctl enable docker:systemctl: 这是用于控制系统服务的工具,在基于 systemd 的 Linux 系统(如 Ubuntu)中用来管理系统服务的状态(启动、停止、重启等)。这条命令启动 Docker 服务,并确保 Docker 服务会在系统启动时自动启动,而不需要手动去开启它。

6. 验证 Docker 安装

解释

sudo docker --versionsudo docker run hello-world
  • sudo docker --version:检查 Docker 是否正确安装,并显示安装的版本号。
  • sudo docker run hello-world:尝试运行一个简单的测试容器来验证 Docker 是否能够正常工作。如果一切正常,这个命令会自动拉取并运行一个名为 hello-world 的 Docker 镜像,并打印一条欢迎消息。笔者运行结果:

三、配置 Docker 镜像加速

因为Docker 默认镜像源registry-1.docker.io位于国外,如果网络较慢或访问不了,强烈建议配置国内镜像加速。

笔者一开始运行上述命令“sudo docker run hello-world”就遇到如下问题:

进行了如下国内镜像设置

1. 创建或修改 Docker 配置文件

解释

bash深色版本sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<EOF{ \"registry-mirrors\": [ \"https://docker.m.daocloud.io\" ]}EOF

创建或编辑/etc/docker/daemon.json文件,添加国内镜像加速地址。

注意:一定设置上面的网址:https://docker.m.daocloud.io,网上搜索也会看到其他的地址,但我试了都不好使。这个网址当前(25.5.10)亲测是有效的。如果你不确定镜像网址是否有效,可以先在浏览器里访问,若能访问才有效。

2. 重启 Docker 服务

解释

sudo systemctl daemon-reloadsudo systemctl restart docker

重新加载 systemd 配置并重启 Docker 服务以应用更改。

3. 重新尝试运行 Docker 命令

现在,你应该可以重新尝试运行之前失败的命令:

解释

sudo docker run hello-world

如果仍然遇到问题,可按照以下步骤进一步排查:

  • 确认网络连接是否正常。
  • 尝试手动指定镜像源,例如上面给的镜像:

解释

sudo docker pull docker.m.daocloud.io/library/hello-world:latest
  • 如果上述方法仍无效,请检查防火墙设置、代理配置等网络相关设置。

四、检查Docker运行情况

1.检查 Docker 服务是否运行

  • 使用 systemctl 命令
    这是最直接的方法来检查 Docker 服务的状态。

解释

sudo systemctl status docker

如果 Docker 正在运行,你会看到类似于 \"active (running)\" 的状态信息。如果 Docker 没有运行,状态会显示为 \"inactive (dead)\"。

  • 使用 service 命令
    另一种方法是使用 service 命令:

解释

sudo service docker status

输出和上面基本相同。

2.查看正在运行的 Docker 容器

要查看当前正在运行的 Docker 容器及其使用的镜像,可以使用以下命令:

  • 列出所有正在运行的容器
    使用 docker ps 命令可以列出所有当前正在运行的容器。

解释

docker ps

这个命令会输出每个容器的 ID、使用的镜像、创建的时间、状态、名称等信息。

  • 列出所有容器(包括停止的)
    如果你还想查看已经停止的容器,可以添加 -a 参数:

解释

docker ps -a
  • 查看容器详细信息
    对于任何特定的容器,如果你想查看更多信息,可以使用 docker inspect  命令,将  替换为你感兴趣的容器的实际ID或名称。

我是@AI增效,专注于研究AI应用和增效,持续分享AI探索和实践,期待和大家一起交流。