Configurar um Contêiner Podman para Iniciar Automaticamente como um Serviço de Usuário do systemd

Red Hat Enterprise LinuxBeginner
Pratique Agora

Introdução

Neste desafio, você aprenderá a configurar um contêiner Podman para iniciar automaticamente como um serviço de usuário do systemd. Esta é uma prática comum e recomendada em ambientes Red Hat Enterprise Linux (RHEL) para garantir que suas aplicações em contêineres estejam em execução e disponíveis assim que o sistema for iniciado. Ao concluir este desafio, você ganhará experiência prática no gerenciamento do ciclo de vida de contêineres com o podman e na integração deles com o processo de inicialização systemd do sistema, uma competência central para qualquer Administrador de Sistemas.

Configurar um Contêiner para Iniciar Automaticamente como um Serviço do systemd

Neste desafio, você configurará um contêiner para iniciar automaticamente como um serviço do systemd. Isso é extremamente útil para garantir que seus serviços conteinerizados estejam sempre operacionais e acessíveis.

Tarefas

Seu objetivo é executar um servidor web Nginx em um contêiner Podman e configurá-lo para ser lançado automaticamente na inicialização do sistema.

  • Criar e executar um contêiner podman baseado na imagem nginx:latest.
  • Gerar um arquivo de serviço de usuário do systemd para o contêiner.
  • Habilitar o serviço para iniciar automaticamente para o usuário labex.
  • Ativar o modo de persistência (lingering) para o usuário labex para garantir que o serviço inicie no boot, mesmo sem uma sessão de login ativa.
  • Verificar se o contêiner está em execução e se o serviço Nginx está acessível.

Requisitos

  • Você deve usar o podman para todas as tarefas de gerenciamento de contêineres.
  • A imagem do contêiner deve ser docker.io/library/nginx:latest.
  • O contêiner deve ser nomeado como my-nginx.
  • O contêiner deve mapear a porta 8080 do hospedeiro para a porta 80 do contêiner.
  • O arquivo de serviço do systemd deve ser gerado usando o comando podman generate systemd.
  • O arquivo de serviço gerado deve ser colocado em ~/.config/systemd/user/container-my-nginx.service.
  • A persistência (lingering) deve ser habilitada para o usuário labex através do comando loginctl.

Exemplo

Após completar este desafio, você deverá ser capaz de acessar a página de boas-vindas do Nginx executando curl http://localhost:8080. A saída deve ser semelhante a esta:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Resumo

Neste desafio, você aprendeu como utilizar o podman para criar um contêiner e, em seguida, gerar um serviço de usuário do systemd para gerenciar seu ciclo de vida. Você configurou o serviço para iniciar automaticamente e habilitou a persistência de sessão (lingering) para garantir que ele seja lançado na inicialização do sistema. Este processo é fundamental para implantar aplicações conteinerizadas resilientes no RHEL e sistemas similares, oferecendo uma alternativa robusta aos métodos legados.

✨ Verificar Solução e Praticar