averainy's Blog

averainy

08 Nov 2023

Use Systemd Auto Start Podman Container

使用docker的时候,只要将容器设置成restart:always就能使容器自启动,但是在podman里这样做是无效的。因为它使用systemd来管理服务。通过以下步骤即可创建自启动服务。

  1. 生成system service文件

    podman generate systemd --restart-policy=always -t 1 --name -f <container_name>
    
  2. 创建本用户systemd目录 并将上面创建的systemd文件拷贝到此目录

    mkdir ~/.config/systemd/user
    cp container-<container_name>.service ~/.config/systemd/user
    
  3. 以当前用户启动这个容器

    systemctl --user enable container-<container_name>.service
    systemctl --user start container-<container_name>.service