2025-05-18
Linux
0

目录

在 Linux 上启动 Docker 守护程序
在本教程中,您将学习:
软件要求和 Linux 命令行约定
在 Linux 上启动 Docker 守护程序
如何启动、启用和重启 docker 守护进程示例
结论
常见问题 (FAQ)

在 Linux 上启动 Docker 守护程序


Docker 是一个流行的容器化平台,开发人员和系统管理员使用它来在隔离环境中构建、交付和运行应用程序。要使 Docker 在 Linux 系统上正常运行,Docker 守护程序必须正在运行。本教程介绍了在 Linux 发行版上启动 Docker 守护程序并确保它在引导时自动启动的各种方法。

在本教程中,您将学习:

  • 如何手动启动 Docker 守护程序
  • 如何将 Docker 配置为在启动时自动启动
  • 如何检查 Docker 守护进程状态
  • 如何排查常见的 Docker 守护程序启动问题

软件要求和 Linux 命令行约定

在 Linux 上启动 Docker 守护程序

重要说明
启动 Docker 守护程序的方法可能略有不同,具体取决于您的 Linux 发行版和 init 系统(systemd、SysVinit、Upstart)。本教程介绍了最常见的方法。

Docker 守护程序 (dockerd) 是管理 Linux 系统上容器的持久性进程。启动和管理此守护程序对于使用 Docker 容器和映像至关重要。让我们探索在 Linux 系统上控制 Docker 守护进程的各种方法。

如何启动、启用和重启 docker 守护进程示例

  1. 使用 systemd 启动 Docker 守护程序:大多数现代 Linux 发行版都使用 systemd 作为其 init 系统。

    sudo systemctl start docker

此命令立即启动 Docker 守护程序。如果服务成功启动,则不会有输出。您可以使用步骤 3 中描述的 status 命令验证服务是否正在运行。

  1. 启用 Docker 在启动时启动:确保 Docker 在系统启动时自动启动。

    sudo systemctl enable docker

此命令创建必要的符号链接,以便在系统启动期间启动 Docker。您应该会看到指示符号链接已成功创建的输出。

  1. 检查 Docker 守护程序状态:验证 Docker 守护程序是否正常运行。

    sudo systemctl status docker

此命令显示 Docker 服务的当前状态,包括它是否处于活动状态(正在运行)、启动时启用以及最近的日志条目。查找 “Active: active (running)” 以确认守护程序正常运行。

  1. 在较旧的发行版 (SysVinit) 上启动 Docker:适用于使用较旧的 SysVinit 系统的 Linux 发行版。

    sudo service docker start

此命令在使用 SysVinit 的系统上启动 Docker 守护程序。同样,您可以使用 “service docker status” 来检查它是否正在运行。

  1. 手动启动 Docker 守护程序:在极少数情况下,您可能需要直接启动守护程序。

    sudo dockerd

    此命令在前台启动 Docker 守护程序。请注意,这将向终端显示所有日志,如果您关闭终端,该过程将停止。此方法主要用于调试目的。

  2. 重启 Docker 守护进程:如果你在进行配置更改后需要重启 Docker 服务。

```
sudo systemctl restart docker ```

此命令将停止,然后启动 Docker 守护程序,并应用您对 Docker 守护程序配置文件所做的任何配置更改。

排查 DOCKER 守护程序问题
如果 Docker 无法启动,请使用以下命令检查系统日志中的错误:
journalctl -u docker.service(在基于 systemd 的系统上)或更少的 /var/log/docker.log 在其他一些发行版上。常见问题包括权限问题、端口冲突或存储驱动程序问题。

结论

启动和管理 Docker 守护程序是在 Linux 上使用容器的一项基本技能。使用“systemctl start docker”和“systemctl enable docker”等 systemd 命令是现代 Linux 发行版最常用的方法。请记住,Docker 命令需要 root 权限或属于 docker 组的具有 sudo 访问权限的用户。如果您遇到问题,请检查服务状态和系统日志应提供解决问题所需的信息。

常见问题 (FAQ)

  1. 如何停止 Docker 守护进程?

    要停止 Docker 守护程序,请在基于 systemd 的发行版上使用命令 sudo systemctl stop docker,或在基于 SysVinit 的系统上使用命令 sudo service docker stop。请注意,停止守护程序将终止所有正在运行的容器,除非您已使用重启策略配置了它们。

  2. 为什么 Docker 安装后启动不了?

    常见原因包括缺少依赖项、与其他容器技术(如 podman 或 LXC)冲突、文件权限不正确或系统资源不足。使用 journalctl -u docker.service 检查系统日志以识别特定错误。确保您的用户位于 “docker” 组中,并且在将用户添加到该组后,您已注销并重新登录。

  3. 如何修改 Docker 守护进程配置?

    Docker 守护程序配置通过 /etc/docker/daemon.json 文件进行管理。您可以在此 JSON 文件中指定默认存储驱动程序、注册表镜像或网络设置等选项。进行更改后,使用 sudo systemctl restart docker 重新启动守护进程以应用它们。如果配置更改后守护程序无法启动,请检查 JSON 文件的语法。

  4. 我可以在没有 root 权限的情况下运行 Docker 吗?

    可以,但您需要将用户添加到 “docker” 组。运行 sudo usermod -aG docker $USER,然后注销并重新登录以使更改生效。Docker 守护程序本身以 root 权限运行,但 docker 组中的用户可以与之交互,而无需对每个命令使用 sudo。

  5. docker' 和 'dockerd' 命令有什么区别?

    docker 命令是向 Docker 守护程序发送命令的客户端实用程序。dockerd 命令直接启动 Docker 守护进程。普通用户通常只使用 docker client 命令,而系统管理员可能需要使用 dockerd 进行高级配置或故障排除。