Red Hat Training
A Red Hat training course is available for RHEL 8
8.2. Geração de um arquivo de unidade do sistema usando Podman
Podman permite que o sistemad controle e gerencie os processos de contêineres. Você pode gerar um arquivo de unidade systemd para os contêineres e pods existentes usando o comando podman generate systemd. Recomenda-se usar podman generate systemd porque os arquivos de unidades gerados mudam freqüentemente (via atualizações para Podman) e o podman generate systemd garante que você obtenha a última versão dos arquivos de unidades.
Procedimento
Criar um recipiente (por exemplo,
myubi):$ podman create -d --name myubi registry.access.redhat.com/ubi8:latest top 0280afe98bb75a5c5e713b28de4b7c5cb49f156f1cce4a208f13fee2f75cb453
Use o nome ou ID do container para gerar o arquivo da unidade do sistema e direcione-o para o arquivo
~/.config/systemd/user/container-myubi.service:$ podman generate systemd --name myubi > ~/.config/systemd/user/container-myubi.service
Etapas de verificação
Para exibir o conteúdo do arquivo de unidade do sistema gerado, entre:
$ cat ~/.config/systemd/user/container-myubi.service # container-myubi.service # autogenerated by Podman 2.0.0 # Tue Aug 11 10:51:04 CEST 2020 [Unit] Description=Podman container-myubi.service Documentation=man:podman-generate-systemd(1) Wants=network.target After=network-online.target [Service] Environment=PODMAN_SYSTEMD_UNIT=%n Restart=on-failure ExecStart=/usr/bin/podman start myubi ExecStop=/usr/bin/podman stop -t 10 myubi ExecStopPost=/usr/bin/podman stop -t 10 myubi PIDFile=/run/user/1000/containers/overlay-containers/0280afe98bb75a5c5e713b28de4b7c5cb49f156f1cce4a208f13fee2f75cb453/userdata/conmon.pid KillMode=none Type=forking [Install] WantedBy=multi-user.target default.target
-
A linha
Restart=on-failuredefine a política de reinício e instrui o sistema a reiniciar quando o serviço não puder ser iniciado ou interrompido de forma limpa, ou quando o processo sair fora de zero. -
A linha
ExecStartdescreve como iniciamos o contêiner. -
A linha
ExecStopdescreve como paramos e removemos o container.
-
A linha
Recursos adicionais
- Artigo de Valentin Rothberg sobre aexecução de contêineres com Podman e serviços de sistema compartilhável.