9.2. 管理容器化服务


Red Hat OpenStack (RHOSP) 平台在 undercloud 和 overcloud 节点上的容器中运行服务。在某些情况下,您可能需要控制主机上的单个服务。本节介绍了可在节点上运行的用于管理容器化服务的一些常见命令。

列出容器和镜像

要列出运行中的容器,请运行以下命令:

$ sudo podman ps

要在命令输出中包括停止的或失败的容器,将 --all 选项添加到命令中:

$ sudo podman ps --all

要列出容器镜像,请运行以下命令:

$ sudo podman images

检查容器属性

要查看容器或容器镜像的属性,请使用 podman inspect 命令。例如,要检查 keystone 容器,请运行以下命令:

$ sudo podman inspect keystone

使用 Systemd 服务管理容器

早期版本的 OpenStack Platform 使用 Docker 及其守护进程管理容器。现在,Systemd 服务接口管理容器的生命周期。每个容器都是一个服务,您运行 Systemd 命令,为每个容器执行特定操作。

注意

不建议使用 Podman CLI 停止、启动和重启容器,因为 Systemd 会应用重启策略。请使用 Systemd 服务命令。

要检查容器状态,请运行 systemctl status 命令:

$ sudo systemctl status tripleo_keystone
● tripleo_keystone.service - keystone container
   Loaded: loaded (/etc/systemd/system/tripleo_keystone.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-02-15 23:53:18 UTC; 2 days ago
 Main PID: 29012 (podman)
   CGroup: /system.slice/tripleo_keystone.service
           └─29012 /usr/bin/podman start -a keystone

要停止容器,请运行 systemctl stop 命令:

$ sudo systemctl stop tripleo_keystone

要启动容器,请运行 systemctl start 命令:

$ sudo systemctl start tripleo_keystone

要重启容器,请运行 systemctl restart 命令:

$ sudo systemctl restart tripleo_keystone

由于没有守护进程监控容器状态,Systemd 在以下情况下自动重启大多数容器:

  • 清除退出代码或信号,如运行 podman stop 命令。
  • 取消清除退出代码,如启动后的 podman 容器崩溃。
  • 取消清除信号。
  • 如果容器启动时间超过 1 分 30 秒,则超时。

有关 Systemd 服务的更多信息,请参阅 systemd.service 文档

注意

在重启容器后,针对其中的服务配置文件所做的所有更改都会恢复。这是因为容器基于 /var/lib/config-data/puppet-generated/ 中节点的本地文件系统上的文件重新生成服务配置。例如,如果您编辑了 keystone 容器中的 /etc/keystone/keystone.conf,并重启了该容器,则该容器会使用节点的本地文件系统上的 /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf 来重新生成配置,以覆盖重启之前在该容器中所做的所有更改。

使用 podman healthcheck监控 podman 容器

您可以使用 podman healthcheck 命令检查 RHOSP 服务容器的健康状态:

Example:

$ sudo podman healthcheck run keystone

不会为每个服务容器配置健康检查。如果您在未定义健康检查的容器中运行 podman healthcheck 命令,您会收到一个错误来指示容器没有定义的健康检查。

检查容器日志

Red Hat OpenStack Platform 17.1 会记录来自所有容器的所有标准输出(stdout),以及整合在 /var/log/containers/stdout 中每个容器的标准错误(stderr)。

主机会对此目录进行日志轮转以防止产生巨大的文件及占用太多磁盘空间的问题。

如果替换了容器,新的容器将输出到同一日志文件中,因为 podman 会使用容器名而非容器 ID。

您也可以使用 podman logs 命令检查容器化服务的日志。例如,要查看 keystone 容器的日志,请运行以下命令:

$ sudo podman logs keystone

访问容器

要进入容器化服务的 shell,请使用 podman exec 命令以启动 /bin/bash。例如,要进入 keystone 容器的 shell,请运行以下命令:

$ sudo podman exec -it keystone /bin/bash

要以根用户身份进入 keystone 容器的 shell,请运行以下命令:

$ sudo podman exec --user 0 -it <NAME OR ID> /bin/bash

要退出容器,请运行以下命令:

# exit
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部