podman service in inactive state

2022-11-30  本文已影响0人  勤奋的大头怪

Red Hat系(包括fedora)上开始使用了podman来替代docker,在默认配置下启动podman service时显示Active: inactive

Podman这一点不同于docker,它是一个无守护进程的服务,所以它没有与之相关联的服务。即使systemctl显示podman仍然处于inactive状态,我们也可以启动和运行容器。

不过我们仍然可以通过以下步骤来启动次功能:

  1. 复制 podman systemd file
    cp /usr/lib/systemd/system/podman.service /etc/systemd/system/
  2. 修改以下文件,让服务以侦听端口8080并将时间参数设置为0,表示服务无限期运行直到停止。
# cat /etc/systemd/system/podman.service

[Unit]
Description=Podman API Service 
Requires=podman.socket
After=podman.socket
Documentation=man:podman-system-service(1)
StartLimitIntervalSec=0
[Service]
Type=exec
KillMode=process
Environment=LOGGING="--log-level=info"
ExecStart=/usr/bin/podman $LOGGING system service tcp:127.0.0.1:8080 --time=0

这里需要注意的是可以在此处使用"tcp:0.0.0.0:8080"作为API在端口8080上用作tcp链接。如果不使用它,rootful服务的默认的端点是unix:/run/podman/podman.sock。最后一行,如果需要API只在本地主机上工作,请将tcp:0.0.0.0:8080替换为tcp:127.0.0.1:8080

  1. 重启podman服务
systemctl daemon-reload
systemctl enable podman.socket podman
systemctl start podman.socket podman
  1. 现在podman服务显示运行并可以通过其API端点访问。
# systemctl status podman.service
● podman.service - Podman API Service
     Loaded: loaded (/etc/systemd/system/podman.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2022-12-01 09:05:44 CST; 5h 51min ago
TriggeredBy: ● podman.socket
       Docs: man:podman-system-service(1)
   Main PID: 747 (podman)
      Tasks: 8 (limit: 8816)
     Memory: 63.4M
        CPU: 57.180s
     CGroup: /system.slice/podman.service
             └─747 /usr/bin/podman --log-level=info system service tcp:127.0.0.1:8080 --time=0
上一篇下一篇

猜你喜欢

热点阅读