podman容器开机自启命令

在Podman中,可以使用以下方法来实现容器开机自启:

使用systemd服务

  1. 创建服务文件:为容器创建一个systemd服务文件,以名为dpanel的容器为例,在/etc/systemd/system/目录下创建dpanel.service文件,内容如下:

    [Unit]
    Description=Podman Container dpanel
    After=network.target
    
    [Service]
    Restart=always
    ExecStart=/usr/bin/podman start -a dpanel
    ExecStop=/usr/bin/podman stop -t 10 dpanel
    
    [Install]
    WantedBy=multi-user.target
  2. 配置文件说明

    • Description:对服务的描述。
    • After=network.target:表示该服务在网络服务启动后启动。
    • Restart=always:设置容器总是自动重启。
    • ExecStart:指定启动容器的命令,这里使用podman start -a dpanel-a参数表示将容器的标准输出和标准输入连接到当前终端。
    • ExecStop:指定停止容器的命令,-t 10表示给容器10秒钟的时间来优雅地停止。
    • WantedBy=multi-user.target:表示该服务在多用户模式下启动。
  3. 启动与设置开机自启:完成服务文件创建后,执行以下命令来启动服务并设置为开机自启:

    sudo systemd daemon-reload
    sudo systemd start dpanel.service
    sudo systemd enable dpanel.service

使用podman自带的restart策略

使用podman run命令创建容器时,通过--restart参数设置重启策略来实现开机自启,如:

podman run -it -d --name dpanel \
--restart=always \
-p 8807:8080 -e APP_NAME=dpanel \
-v /run/user/0/podman/podman.sock:/var/run/docker.sock -v dpanel:/dpanel \
dpanel/dpanel:lite

--restart=always表示容器无论因何种原因停止,都会自动重启,包括系统重启后也会自动启动。

添加新评论