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
podmanbaseado na imagemnginx:latest. - Gerar um arquivo de serviço de usuário do
systemdpara 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
labexpara 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
podmanpara 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
8080do hospedeiro para a porta80do contêiner. - O arquivo de serviço do
systemddeve ser gerado usando o comandopodman 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
labexatravés do comandologinctl.
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.



