주:
- 이 자습서는 Oracle에서 제공하는 무료 실습 환경에서 사용할 수 있습니다.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료할 때 이러한 값을 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Linux에서 Podman으로 사용자 링거링 구성
소개
Systemd는 사용자 링거링을 제공하여 사용자 서비스(예: systemd 사용자 단위로 실행된 컨테이너)가 사용자가 로그아웃한 후에도 활성 상태를 유지할 수 있도록 합니다. 그렇지 않으면 로그아웃 시 사용자 서비스 관리자(및 해당 컨테이너)가 중지됩니다.
목표
이 자습서에서는 다음 내용을 학습합니다.
- Podman을 사용하여 Pod를 만들고 실행합니다.
- Podman을 사용하여 Pod를 관리합니다.
- Podman을 사용하여 Pod를 제거합니다.
필요 조건
-
최소 단일 Oracle Linux 시스템
-
각 시스템에는 다음과 같이 Oracle Linux가 설치 및 구성되어 있어야 합니다.
- sudo 액세스 권한이 있는 비루트 사용자 계정
- 인터넷에 대한 액세스
Oracle Linux 배치
주: 고유 테넌시에서 실행 중인 경우 linux-virt-labs GitHub 프로젝트 README.md를 읽고 실습 환경을 배치하기 전에 필요 조건을 완료하십시오.
-
Luna Desktop에서 터미널을 엽니다.
-
linux-virt-labsGitHub 프로젝트를 복제합니다.git clone https://github.com/oracle-devrel/linux-virt-labs.git -
작업 디렉토리로 변경합니다.
cd linux-virt-labs/ol -
필요한 모음을 설치합니다.
ansible-galaxy collection install -r requirements.yml -
lab 환경을 배치합니다.
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"무료 실습 환경에는 localhost에서 실행되는 재생에 대해
ansible_python_interpreter를 설정하는 추가 변수local_python_interpreter이 필요합니다. 이 변수는 환경이 python3.6 모듈 아래에 있는 Oracle Cloud Infrastructure SDK for Python용 RPM 패키지를 설치하기 때문에 필요합니다.기본 배치 구성은 AMD CPU 및 Oracle Linux 8을 사용합니다. Intel CPU 또는 Oracle Linux 9를 사용하려면 배치 명령에
-e instance_shape="VM.Standard3.Flex"또는-e os_version="9"를 추가합니다.중요: 플레이북이 성공적으로 실행될 때까지 기다렸다가 일시 중지 작업에 도달합니다. 플레이북의 이 단계에서 Oracle Linux 설치가 완료되고 인스턴스가 준비됩니다. 이전 플레이에서 배치하는 노드의 공용(public) 및 전용(private) IP 주소와 실습을 실행하는 동안 필요한 기타 배치 정보를 출력합니다.
Podman 작업 확인
Oracle Linux의 컨테이너 도구 패키지는 최신 버전의 Podman, Buildah, Skopeo 및 관련 종속성을 제공합니다.
-
터미널을 열고 SSH를 통해 ol-node-01 인스턴스에 연결합니다.
ssh oracle@<ip_address_of_instance> -
Podman 버전을 검사합니다.
podman -v -
Podman CLI가 작동 중인지 확인합니다.
podman run quay.io/podman/hello출력 예:
[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
사용자에 대한 링거링 사용
이 자습서에 사용된 사용자 이름은 oracle입니다.
-
oracle사용자에 대해 링거링을 사용으로 설정합니다.sudo loginctl enable-linger oracle
Podman에 대한 Systemd 단위 파일 만들기
-
systemd 단위 파일에 대한 디렉토리를 만듭니다.
mkdir -p ~/.config/systemd/user -
Systemd 단위 파일을 만듭니다.
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 -
Systemd 서비스를 시작하고 사용으로 설정합니다.
systemctl --user daemon-reload systemctl --user enable --now mycontainer.service
Systemd 시작 Podman 확인
-
서비스가 Podman을 시작했는지 확인합니다.
podman ps출력 예:
[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 -
systemd 서비스의 상태를 확인합니다.
systemctl --user status mycontainer.service출력 예:
[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>이것은 systemd가 Podman에서 Nginx 컨테이너를 시작했음을 확인합니다. 그러나 로그아웃하면 활성 상태로 유지됩니까?
-
Ctrl-C를 입력하여 상태 출력을 종료합니다.
로그아웃 후 서비스 활성 상태 유지 확인
다음으로 현재 세션을 종료한 다음 다시 연결하여 Podman 서비스가 활성 상태로 유지되는지 확인합니다.
-
exit를 입력하여 현재 세션을 종료합니다. -
처음에 접속할 때 사용한 것과 동일한 접속 문자열을 사용하여 SSH를 통해 ol-node-01 인스턴스에 다시 접속합니다.
ssh oracle@<ip_address_of_instance> -
Podman 서비스가 계속 활성 상태인지 확인합니다.
podman ps -
systemd 서비스의 상태를 확인합니다.
systemctl --user status mycontainer.service
다음 단계
이 자습서에서는 Podman을 사용하여 User Lingering을 구성하는 방법을 보여줍니다. 링거링을 사용으로 설정하면 로그아웃한 후에도 Podman 컨테이너가 Oracle Linux에서 사용자 서비스로 지속적으로 실행될 수 있습니다. 이 접근 방식은 루트리스 컨테이너 관리를 위한 최신 모범 사례와 일치합니다. 추가 튜토리얼과 내용은 Oracle Linux Training Station을 확인하십시오.
관련 링크
추가 학습 자원
docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Configure User Lingering with Podman on Oracle Linux.
G44254-01