Observação:
- Este tutorial está disponível em um ambiente de laboratório gratuito fornecido pela Oracle.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Configurar a Persistência do Usuário com o Podman no Oracle Linux
Introdução
O Systemd fornece permanência do usuário, permitindo que os serviços do usuário (como contêineres iniciados com unidades de usuário do systemd) permaneçam ativos após o usuário fazer logout. Sem isso, os gerenciadores de serviço do usuário (e seus contêineres) são interrompidos no logout.
Objetivos
Neste tutorial, você aprenderá a:
- Use o Podman para criar e executar Pods.
- Use o Podman para gerenciar Pods.
- Use o Podman para remover Pods.
Pré-requisitos
-
Mínimo de um único sistema Oracle Linux
-
Cada sistema deve ter o Oracle Linux instalado e configurado com:
- Uma conta de usuário não raiz com acesso sudo (sudo)
- Acesso à Internet
Implantar o Oracle Linux
Observação: Se estiver em execução na sua própria tenancy, leia o projeto linux-virt-labs GitHub README.md e conclua os pré-requisitos antes de implantar o ambiente de laboratório.
-
Abra um terminal no Luna Desktop.
-
Clone o projeto
linux-virt-labsGitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git -
Altere para o diretório de trabalho.
cd linux-virt-labs/ol -
Instale as coleções necessárias.
ansible-galaxy collection install -r requirements.yml -
Implante o ambiente de laboratório.
ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e use_podman=true -e update_all=true -e os_version="9"O ambiente de laboratório gratuito requer a variável extra
local_python_interpreter, que defineansible_python_interpreterpara reproduções em execução no localhost. Essa variável é necessária porque o ambiente instala o pacote RPM do Oracle Cloud Infrastructure SDK para Python, localizado nos módulos python3.6.A forma de implantação padrão usa a CPU AMD e o Oracle Linux 8. Para usar uma CPU Intel ou um Oracle Linux 9, adicione
-e instance_shape="VM.Standard3.Flex"ou-e os_version="9"ao comando de implantação.Importante: Aguarde a execução bem-sucedida do playbook e atinja a tarefa de pausa. Neste estágio do playbook, a instalação do Oracle Linux está concluída e as instâncias estão prontas. Anote o jogo anterior, que imprime os endereços IP públicos e privados dos nós que ele implanta e quaisquer outras informações de implantação necessárias durante a execução do laboratório.
Confirmar Funcionamento do Podman
O pacote container-tools no Oracle Linux fornece as versões mais recentes de Podman, Buildah, Skopeo e dependências associadas.
-
Abra um terminal e estabeleça conexão via SSH com a instância ol-node-01.
ssh oracle@<ip_address_of_instance> -
Verifique a versão do Podman.
podman -v -
Confirme se a CLI do Podman está funcionando.
podman run quay.io/podman/helloExemplo de Saída:
[oracle@ol-server ~]$ podman run quay.io/podman/hello Trying to pull quay.io/podman/hello:latest... Getting image source signatures Copying blob f82b04e85914 done Copying config dbd85e09a1 done Writing manifest to image destination Storing signatures !... Hello Podman World ...! .--"--. / - - \ / (O) (O) \ ~~~| -=(,Y,)=- | .---. /` \ |~~ ~/ o o \~~~~.----. ~~ | =(X)= |~ / (O (O) \ ~~~~~~~ ~| =(Y_)=- | ~~~~ ~~~| U |~~ Project: https://github.com/containers/podman Website: https://podman.io Documents: https://docs.podman.io Twitter: @Podman_io
Ativar Lingering para um Usuário
O nome de usuário usado para este tutorial é oracle.
-
Ative a permanência para o usuário
oracle.sudo loginctl enable-linger oracle
Criar um Arquivo de Unidade Systemd para o Podman
-
Crie um diretório para o arquivo de unidade systemd.
mkdir -p ~/.config/systemd/user -
Crie o arquivo de unidade Sistêmica.
cat << EOF | tee ~/.config/systemd/user/mycontainer.service > /dev/null [Unit] Description=My Podman Container [Service] Restart=always ExecStart=/usr/bin/podman run --rm --name mycontainer ghcr.io/oracle/oraclelinux9-nginx:1.20 ExecStop=/usr/bin/podman stop -t 10 mycontainer [Install] WantedBy=default.target EOF -
Inicie e ative o serviço de Systemd.
systemctl --user daemon-reload systemctl --user enable --now mycontainer.service
Confirmar Podman Iniciado pelo Sistema
-
Confirme se o serviço iniciou o Podman.
podman psExemplo de Saída:
[oracle@ol-node-01 ~]$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9ada6b5a635f ghcr.io/oracle/oraclelinux9-nginx:1.20 nginx -g daemon o... 4 minutes ago Up 4 minutes 80/tcp, 443/tcp mycontainer -
Verifique o status do serviço systemd.
systemctl --user status mycontainer.serviceExemplo de Saída:
[oracle@ol-node-01 ~]$ systemctl --user status mycontainer.service ● mycontainer.service - My Podman Container Loaded: loaded (/home/oracle/.config/systemd/user/mycontainer.service; enabled; preset: disabled) Active: active (running) since Wed 2025-09-03 15:18:52 GMT; 1min 4s ago Main PID: 42554 (podman) Tasks: 22 (limit: 201624) Memory: 367.0M CPU: 7.432s CGroup: /user.slice/user-1001.slice/user@1001.service/app.slice/mycontainer.service ├─42554 /usr/bin/podman run --rm --name mycontainer ghcr.io/oracle/oraclelinux9-nginx:1.20 ├─42562 /usr/bin/podman run --rm --name mycontainer ghcr.io/oracle/oraclelinux9-nginx:1.20 ├─42567 catatonit -P ├─42631 /usr/bin/pasta --config-net --dns-forward 169.254.1.1 -t none -u none -T none -U none --no-map-gw --quiet --net> └─42634 /usr/bin/conmon --api-version 1 -c 9ada6b5a635f05242af94d921c045355a02ff1c5c6843b9b77d4797e6cc48947 -u 9ada6b5a> Sep 03 15:18:53 ol-node-01 podman[42562]: Getting image source signatures Sep 03 15:18:53 ol-node-01 podman[42562]: Copying blob sha256:dc9d5c72c83dcb74035f5659842a5bbdb9ceaaab724e942d1fafba3d9a66583d Sep 03 15:18:53 ol-node-01 podman[42562]: Copying blob sha256:768ce871c381eaff86a716a68d16a5fe365a62f4d44ae38e9e8b1ed8fd5bf4bd Sep 03 15:18:57 ol-node-01 podman[42562]: Copying config sha256:86da1899be3dbf9500534c241500247aa0467c76ebbeb2431e42433dcf3e4df2 Sep 03 15:18:57 ol-node-01 podman[42562]: Writing manifest to image destination Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.037335665 +0000 GMT m=+5.552269770 container create 9ada6b5a635f05242a> Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.025938165 +0000 GMT m=+5.540872270 image pull 86da1899be3dbf9500534c24> Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.150895821 +0000 GMT m=+5.665829926 container init 9ada6b5a635f05242af9> Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.156268852 +0000 GMT m=+5.671202956 container start 9ada6b5a635f05242af>Isso confirma que systemd iniciou um contêiner Nginx no Podman. Mas permanecerá ativo se você fizer logout?
-
Digite
Ctrl-Cpara sair da saída de status.
Confirmar se o Serviço Permaneceu Ativo após o Log-out
Em seguida, você sairá da sessão atual e, em seguida, se reconectará para confirmar se o serviço Podman permanece ativo.
-
Informe
exitpara sair da sessão atual. -
Reconecte via SSH com a instância ol-node-01 usando a mesma string de conexão que você usou inicialmente para estabelecer conexão.
ssh oracle@<ip_address_of_instance> -
Confirme se o serviço Podman está ativo.
podman ps -
Verifique o status do serviço systemd.
systemctl --user status mycontainer.service
Próximas Etapas
Este tutorial demonstrou como configurar o User Lingering com o Podman. A ativação da permanência permite que seus contêineres Podman sejam executados continuamente como um serviço de usuário no Oracle Linux, mesmo após o log-out. Essa abordagem se alinha às melhores práticas modernas para gerenciamento de contêineres sem raiz. Confira o Oracle Linux Training Station para obter tutoriais e conteúdo adicionais.
Links Relacionados
- Documentação do Oracle Cloud Native Environment
- Roteiro do Oracle Cloud Native Environment
- Oracle Linux Training Station
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Configure User Lingering with Podman on Oracle Linux.
G44255-01