Oracle Linux에서 Podman을 사용하여 다중 플랫폼 컨테이너 이미지 빌드
소개
이 데모는 Oracle Linux에서 Podman을 사용하여 다중 플랫폼 컨테이너 이미지를 생성하는 방법을 보여줍니다.
목표
이 자습서에서는 다음을 수행하는 방법에 대해 알아봅니다.
- 원격 접속에 대한 Podman 구성
- 원격 Podman 인스턴스에 접속
- 단일 컨테이너 파일에서 플랫폼별 이미지 작성
- 플랫폼별 이미지를 OCIR(Oracle Cloud Infrastructure Registry)로 푸시
- 플랫폼별 이미지를 모두 포함하는 매니페스트 목록 만들기
- 매니페스트 목록을 OCIR로 푸시
- OCIR에서 호스트된 매니페스트 목록을 검사하여 사용 가능한 플랫폼을 확인합니다.
- 이미지 풀링 및 실행
필요 조건
- OCI(Oracle Cloud Infrastructure) 테넌시에 액세스
- Oracle Linux x86_64 인스턴스
- Oracle Cloud Developer aarch_64 인스턴스
- Oracle Cloud Infrastructure Registry에 액세스
Podman 서버 배치
-
Oracle Linux 컴퓨트 인스턴스를 생성합니다.
구성이 x86_64 구조를 사용하는 경우 기본 이미지와 구성을 사용할 수 있습니다. 퍼블릭 서브넷을 선택하거나 생성하고 IPv4 주소를 지정합니다.
이 단계에서는 항상 Free Tier에서 제공되는 마이크로 구성 사용을 지원합니다.
-
인스턴스가 실행되고 나면 인스턴스에 로그인합니다.
ssh -i <SSH_KEY> opc@<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>
설명:
<SSH_KEY>
은 컴퓨트 인스턴스를 프로비전할 때 사용되는 SSH 키의 프라이빗 부분입니다. 예:~/.ssh/id_rsa
<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>
은 컴퓨트 인스턴스의 퍼블릭 IP 주소입니다.
원격 액세스를 위한 Podman 설치 및 구성
이러한 명령은 컴퓨트 인스턴스 또는 sudo
액세스 권한이 있는 모든 사용자에서 기본 opc
사용자 계정으로 실행할 수 있습니다.
-
모든 최신 보안 수정 및 정오표로 시스템을 업데이트합니다.
sudo dnf -y update
-
Podman 패키지 또는 모듈을 설치합니다.
Oracle Linux 8:
sudo dnf module install -y container-tools:ol8
Oracle Linux 9 및 Oracle Linux 10:
sudo dnf install -y container-tools
컨테이너 도구 모듈 또는 패키지는 skopeo 및 buildah를 포함한 podman 및 기타 컨테이너 도구를 설치합니다. 하나의 필수 패키지는 container-selinux이며, 이를 통해
podman
를 SELinux 사용 시스템에서 비루트 사용자로 실행할 수 있으며, Oracle Linux는 기본적으로 사용으로 설정됩니다. -
Podman 소켓을 사용으로 설정합니다.
systemd는 해당 소켓에서 수신하고 원격 클라이언트가 활성화할 때마다 Podman 인스턴스를 실행합니다. 연결이 닫히면 systemd가 Podman 인스턴스를 종료합니다.
참고: 루트리스 모드에서 원격 Podman 액세스를 구성할 수 있지만 이 자습서의 범위를 벗어납니다.
sudo systemctl enable --now podman.socket
-
소켓의 경로를 확인합니다.
sudo systemctl status podman.socket
출력은 소켓 수신을 보여주고 해당 위치는
/run/podman/podman.sock
에 있습니다.즉, Podman 서버 인스턴스에 로그온하여 이 자습서의 뒷부분에서 SSH 암호 없는 구성을 수행합니다.
Oracle Cloud 개발자 인스턴스 배치
Oracle Ampere A1 Compute는 Oracle Cloud Infrastructure(OCI) 및 Ampere Altra Arm 프로세서를 결합한 고성능 플랫폼입니다. 결정적인 성능, 검증된 보안, 널리 사용되는 도구 및 환경(OS, Kubernetes - OKE, SDK 및 CLI)을 포함하는 광범위한 개발자 에코시스템을 제공합니다.
OCI는 Git, Node.js, Java, GraalVM 등 널리 사용되는 모든 개발자 툴이 설치된 Oracle Cloud Developer Image를 플랫폼 이미지로 나열합니다.
-
Oracle Cloud Developer 컴퓨트 인스턴스를 생성합니다.
Oracle Cloud Developer 이미지 및 Ampere 구성을 선택합니다. Podman 서버 인스턴스와 동일한 퍼블릭 서브넷을 선택하고 IPv4 주소를 지정합니다.
-
송신 규칙 또는 SSH 포트 전달을 사용하도록 결정합니다.
두 가지 방법으로 생성할 데모 웹 애플리케이션에 액세스할 수 있습니다. 둘 다 사용으로 설정할 수 있지만 둘 중 하나만 선택해야 합니다.
(선택 사항) 수신 규칙 만들기
수신 규칙 사용은 2단계 프로세스입니다. 이 옵션은 인터넷에서 서브넷에 대한 액세스를 열고 재부팅 후에도 지정된 포트의 인스턴스에 대한 액세스 권한을 계속 부여합니다. 먼저 OCI 내에서 규칙을 생성한 다음 Oracle Linux 인스턴스에서 firewalld 내의 포트를 열어야 합니다.
-
퍼블릭 서브넷에 수신 규칙을 추가합니다.
규칙은
0.0.0.0/0
에서 포트5808/tcp
의 인바운드 트래픽을 허용해야 합니다. 규칙은 생성 후 즉시 적용됩니다. -
새 터미널을 열고 SSH를 통해 Oracle Cloud Developer 인스턴스에 접속합니다.
ssh -i <SSH_KEY> opc@<IP_ADDRESS_OF_ORACLE_CLOUD_DEVELOPER_INSTANCE>
-
데모 웹 애플리케이션에 대한 접근 권한을 추가합니다.
sudo firewall-cmd --permanent --add-port=5808/tcp sudo firewall-cmd --reload
-
방화벽에 대한 변경 사항을 확인합니다.
sudo firewall-cmd --list-all
출력에는 사용 가능한
ports: 5808/tcp
가 표시됩니다.
SSH 포트 전송 사용
-
터미널을 열고 SSH를 통해 Oracle Cloud Developer 인스턴스에 연결합니다.
-L
옵션은 로컬 전달을 사용으로 설정합니다. 그러면 로컬 포트가 열리고 SSH 터널을 통해 원격 데모 웹 응용 프로그램에 연결됩니다.ssh -L 5808:localhost:5808 -i <SSH_KEY> opc@<IP_ADDRESS_OF_ORACLE_CLOUD_DEVELOPER_INSTANCE>
웹 애플리케이션에 대한 컨테이너 이미지를 생성하고 로컬로 실행
-
데모 응용 프로그램의 Git 저장소를 복제합니다.
이 자습서에서는 Node.js 기반 서버 모니터링 웹 앱인 RasDash를 배포합니다.
git clone https://github.com/sykeben/RasDash.git
-
소스 코드 디렉토리로 변경합니다.
cd ~/RasDash
-
컨테이너 파일을 생성하여 웹 애플리케이션을 빌드하고 서비스합니다.
cat << EOF > Containerfile FROM ghcr.io/oracle/oraclelinux8-nodejs:14 COPY . /app WORKDIR /app RUN npm install && \ npm test CMD ["/usr/bin/node", "app.js", "service"] EOF
-
로컬 인스턴스에서 이미지를 빌드하고 실행합니다.
podman
를 사용하여 로컬에서 컨테이너 이미지를 빌드하고 애플리케이션의 버전 및 플랫폼 아키텍처로 이미지에 태그를 지정합니다. 이 정보는 나중에 각 플랫폼 이미지를 OCIR(Oracle Cloud Infrastructure Registry)로 푸시하고 두 플랫폼 이미지의 매니페스트를 생성할 때 유용합니다.sudo podman build --format docker --tag rasdash:0.3.4-arm64 .
최종 라인은 애플리케이션 빌드에 고유합니다.
-
이미지를 사용하여 컨테이너를 실행합니다.
sudo podman run --rm --init -detach --name rasdash --publish 5808:5808 localhost/rasdash:0.3.4-arm64
Podman이 반환하는 다이제스트는 각 컨테이너 인스턴스에 대해 고유합니다.
-
실행 중인 컨테이너를 확인합니다.
sudo podman ps
출력에는 컨테이너가
Up
로 표시되고 실행됩니다. -
컨테이너 로그를 확인합니다.
sudo podman logs rasdash
출력에는
[STATE] Server started
가 표시됩니다. -
웹 응용 프로그램을 확인합니다.
로컬 시스템에서 브라우저를 열고
http://localhost:5808
로 이동합니다. 수신 및 방화벽 규칙을 생성한 경우localhost
대신 Oracle Cloud Developer 인스턴스의 퍼블릭 IP 주소를 사용할 수 있습니다.주: OCI의 가상 인스턴스는 물리적 하드웨어 데이터에 액세스할 수 없으므로 CPU 온도 측정 단위는
-1
를 표시합니다. -
실행 중인 컨테이너를 정지합니다.
sudo podman stop rasdash
인스턴스 간에 암호 없는 SSH 구성
Podman은 보안을 위해 인스턴스 간에 SSH를 사용하여 통신합니다. 보다 원활한 환경을 위해 Cloud Developer 인스턴스에서 공개/개인 키 쌍을 생성하고 이를 Podman Remote 서버로 복사하면 비밀번호를 입력하지 않고도 개발자 인스턴스에서 SSH를 사용할 수 있습니다.
-
Oracle Cloud Developer 인스턴스에서 퍼블릭/프라이빗 키 쌍을 생성합니다.
ssh-keygen -b 4096 -f ~/.ssh/id_rsa -q -N ""
-
공개 키 파일의 내용을 복사합니다.
cat ~/.ssh/id_rsa.pub
cat
명령에서 출력을 선택하고 복사합니다. -
Podman 서버 인스턴스로 전환합니다.
-
vi에서 파일을 엽니다.
vi ~/.ssh/authorized_keys
공용 키 컨텐츠를 권한이 부여된 키 파일에 붙여 넣습니다.
파일을 저장하고 닫습니다.
-
SSH 디렉토리 및 파일에 올바른 파일 시스템 권한을 적용해야 합니다.
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
-
Cloud Developer 인스턴스로 전환합니다.
-
비밀번호 없이 Podman 서버에
opc
사용자로 SSH를 지정할 수 있는지 테스트합니다.주: 문제가 있는 경우 다음 설명서를 참조하십시오.
ssh opc@<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>
비밀번호 없이 접속할 수 있는지 확인한 후에는 Oracle Cloud Developer 인스턴스와 Podman 서버 간에 SSH 세션을
exit
해야 합니다. -
Podman 서버 인스턴스로 전환합니다.
-
루트 사용자의 권한이 부여된 키 파일을 바꿉니다.
cat /home/opc/.ssh/authorized_keys | sudo tee /root/.ssh/authorized_keys
-
Cloud Developer 인스턴스로 전환합니다.
-
Cloud Developer 인스턴스의
opc
사용자로 Podman 서버의root
사용자로 SSH할 수 있는지 테스트합니다.ssh root@<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>
루트 사용자로 Podman 서버에 대한 SSH 연결을 성공적으로 테스트한 후 세션을
exit
할 수 있습니다.
Podman 서버에 대한 시스템 접속 생성
-
Podman 서버에서 실행 중인 Podman 서비스와 Oracle Cloud Developer 인스턴스 간에 Podman 시스템 접속을 생성합니다.
sudo podman system connection add --identity ~/.ssh/id_rsa amd64 ssh://root@<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>/run/podman/podman.sock
위 명령에서
<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>
을 Podman 서버의 IP 주소 또는 호스트 이름으로 바꿔야 합니다. -
연결이 성공적으로 추가되었는지 확인합니다.
sudo podman system connection list
출력에는
Default
값이true
로 설정된amd64
연결이 표시됩니다. Podman은 시스템에 여러 연결이 구성된 경우 이 연결을 사용합니다.
원격 Podman 서버에 이미지 빌드
이제 podman --remote
를 사용하여 Oracle Cloud Developer 인스턴스에서 원격 Podman 서버 인스턴스로 명령을 전송할 수 있어야 합니다.
-
Podman 서버의 세부정보를 가져와 테스트합니다.
sudo podman --remote info
구조는
arm64
로 보고해야 합니다. -
원격 이미지를 작성합니다.
Podman은 전체 컨텍스트를 원격 인스턴스에 자동으로 복사합니다.
cd ~/RasDash sudo podman --remote build --format docker --tag rasdash:0.3.4-amd64 .
-
원격 Podman 서버에 이미지가 존재하는지 확인합니다.
참고: Podman은 생성하는 이미지를 다시 클라이언트 시스템에 복사하지 않으므로
sudo podman images
를 실행하면 이미지가 나열되지 않습니다. 그러나 원격 시스템에서 사용할 수 있습니다.sudo podman --remote images
출력 예:
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/rasdash 0.3.4-amd64 3a1b9755ebdd 8 seconds ago 439 MB ...
-
로컬 이미지 구조를 확인합니다.
특정 플랫폼 및 구조에 대해 각 이미지가 빌드되었는지 검증하는 최종 방법은
jq
를 사용하여 각 이미지의 매니페스트에 있는Architecture
필드의 값을 추출합니다.sudo podman inspect rasdash:0.3.4-arm64 | jq -r '.[] | .Architecture'
로컬 이미지는 해당 구조를
arm64
로 보고합니다. -
원격 이미지를 확인합니다.
sudo podman --remote inspect rasdash:0.3.4-amd64 | jq -r '.[] | .Architecture'
원격 이미지는
amd64
로 보고됩니다.
컨테이너 레지스트리 Repository 생성
Oracle Cloud Infrastructure 콘솔에서 컨테이너 레지스트리 섹션으로 이동하여 다중 플랫폼 애플리케이션을 저장할 저장소를 생성합니다.
자세한 내용은 Oracle Cloud Infrastructure 문서의 저장소 생성을 참조하십시오.
-
전용
demo/rasdash
저장소를 생성합니다. -
새 저장소의 세부정보를 검토합니다.
컨테이너 레지스트리 저장소 인증서 수집
다음 표에서는 이 자습서의 후속 단계에서 사용되는 예제 값을 제공합니다. iad
예는 미국 동부(애슈번) 지역의 지역 키입니다. 지역이 독일 중부(프랑크푸르트)인 경우 지역 키는 fra
입니다. 사용 가능한 영역 키를 나열하는 전체 테이블은 지역 및 가용성 도메인 설명서를 참조하십시오.
레지스트리 데이터 | 튜토리얼 위치 표시자 | 참고 |
---|---|---|
REGISTRY_NAMESPACE | gse00015915 |
저장소 정보 패널에 "이름 공간"으로 표시됩니다. |
REPOSITORY_NAME | demo/rasdash |
컴파트먼트 이름 아래에 표시됩니다. |
OCIR_INSTANCE | iad.ocir.io |
<region>.ocir.io 사용 |
필요한 경우 Pushing Images Using the Docker CLI을 참조하십시오. 이 절차에서는 CLI를 사용하여 이미지를 컨테이너 레지스트리에 푸시하는 데 필요한 로그인 프로세스에 대해 설명합니다.
-
사용자 이름을 가져옵니다.
컨테이너 레지스트리에 로그인하려면 사용자 이름과 인증 토큰이 필요합니다. 사용자 이름을 가져오려면 Oracle Cloud Infrastructure 콘솔의 오른쪽 상단 모서리에 있는 프로파일 메뉴(사용자 메뉴 아이콘)를 열고 내 프로파일을 눌러 세부정보를 확인합니다.
콘솔에 표시된
tenancy-namespace
를 포함하여 사용자 이름을 복사하여 저장합니다. -
인증 토큰 생성.
콘솔에서 내 프로파일 페이지를 아래로 스크롤하고 리소스 아래에서 인증 토큰을 선택합니다.
토큰 생성 단추를 선택하고 새 토큰에 대한
demo
설명을 제공합니다.토큰을 생성한 후 복사하여 저장해야 합니다.
컨테이너 레지스트리 저장소에 로그인
다음 표에서는 이 자습서의 후속 단계에서 사용되는 예제 값을 제공합니다.
사용자 이름 | 튜토리얼 위치 표시자 |
---|---|
REGISTRY_NAMESPACE | gse00015915 |
USERNAME | luna.user@e1ab5742-7e30-463a-9017-0b48fa54197e |
토큰 | ]y#W_iS9GKC}4l1Gq9Fn |
OCIR_INSTANCE | iad.ocir.io |
-
podman login
명령에서 사용할 환경 변수를 생성합니다.사용자 이름과 토큰을 사용하여
USER
및TOKEN
환경 변수를 생성합니다. 사용자 이름의 일부로<REGISTRY_NAMESPACE>
를 포함해야 합니다.export OCIR_INSTANCE="iad.ocir.io" export OCIR_NAMESPACE="gse00015915" export OCI_USERNAME="luna.user@e1ab5742-7e30-463a-9017-0b48fa54197e" export OCIR_USERNAME="$OCIR_NAMESPACE/$OCI_USERNAME" export OCI_USER_TOKEN="]y#W_iS9GKC}4l1Gq9Fn"
-
컨테이너 레지스트리에 로그인합니다.
sudo -E podman login -u $OCIR_USERNAME -p $OCIR_USER_TOKEN $OCIR_INSTANCE
원격 인스턴스는 클라이언트 인스턴스에서 인증 자격 증명을 자동으로 상속합니다.
플랫폼 이미지 푸시
이 예에서 플랫폼별 태그가 있는 최종 저장소 URI는 다음과 같습니다.
docker://iad.ocir.io/gse00015915/demo/rasdash:0.3.4-arm64
docker://iad.ocir.io/gse00015915/demo/rasdash:0.3.4-amd64
Podman은 이미지가 사전에 태그를 지정할 필요 없이 로컬 이미지를 원격 레지스트리에 푸시할 수 있습니다.
-
로컬
rasdash/0.3.4-arm64
이미지를 푸시합니다.sudo -E podman push rasdash:0.3.4-arm64 docker://$OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4-arm64
-
원격
rasdash:0.3.4-amd64
이미지를 푸시합니다.sudo -E podman --remote push rasdash:0.3.4-amd64 docker://$OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4-amd64
-
컨테이너 레지스트리 콘솔을 확인합니다.
주: 원격 이미지를 푸시해도 로컬 출력이 생성되지 않습니다.
rasdash:0.3.4-amd64
태그에 대한 컨테이너 레지스트리 콘솔을 검토하여 이미지를 성공적으로 푸시했는지 확인합니다.Container Registry 콘솔에 두 개의 이미지가 표시되어야 합니다.
0.3.4-amd64
이미지:0.3.4-arm64
이미지:
매니페스트 목록 만들기 및 컨테이너 레지스트리에 푸시
이제 두 개의 플랫폼 이미지가 있으므로 컨테이너 런타임에서 해당 플랫폼에 적합한 이미지를 선택할 수 있도록 매니페스트 목록을 생성해야 합니다. 이는 운영 체제와 아키텍처의 조합입니다.
대부분의 컨테이너 이미지는 Linux 기반이므로 사용자는 일반적으로 다중 플랫폼 이미지를 다중 아카이브 이미지라고 합니다. 그러나 Windows, macOS 및 Linux에서 실행할 수 있는 이미지를 단일 매니페스트로 결합할 수도 있습니다.
-
매니페스트를 생성하고 채웁니다.
태그에 앱 버전만 사용하여 클라우드 개발자 인스턴스에 로컬 매니페스트 목록을 생성합니다.
sudo podman manifest create rasdash:0.3.4
이전과 마찬가지로 체크섬 출력은 만든 매니페스트에 고유하며 위와 일치하지 않습니다.
-
매니페스트 목록을 검사하여 사용 중인
mediaType
및 해당 멤버 이미지를 표시합니다.sudo podman manifest inspect rasdash:0.3.4
-
목록에 두 개의 플랫폼별 이미지를 추가합니다.
sudo -E podman manifest add rasdash:0.3.4 docker://$OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4-arm64
sudo -E podman manifest add rasdash:0.3.4 docker://$OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4-amd64
-
매니페스트 목록을 검사합니다.
sudo podman manifest inspect rasdash:0.3.4
이미지를 추가한 후 출력이 더 흥미로워집니다.
최대 호환성을 위해 Podman이 기본적으로 사용할 Open Container Initiative Image Manifest Specification 대신 Docker Image Manifest V2, Schema 2(
v2s2
) 사양을 사용하여 이미지를 생성하도록 지시하는 각 빌드 명령에--format docker
매개변수를 추가했습니다.Because the manifests are using the
v2s2
specification, Podman uses the associatedv2s2
Manifest List specification instead of the Open Container Initiative Image Index Specification.Oracle Engine for Kubernetes(OKE) 및 온프레미스 자체 호스팅 Kubernetes 배포판 등 클라우드 기반 관리형 Kubernetes 서비스에서 사용되는 기본 컨테이너 런타임은 두 사양 모두와 호환됩니다.
-
매니페스트 목록을 컨테이너 레지스트리에 푸시합니다.
이제 매니페스트 목록을 만들었으므로 플랫폼별 이미지를 저장하는 동일한 컨테이너 레지스트리 저장소로 푸시할 수 있습니다.
sudo -E podman manifest push --all rasdash:0.3.4 docker://$OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4
이 작업은 이전에 플랫폼별 이미지를 푸시했기 때문에 빠른 작업입니다. 컨테이너 레지스트리는 매니페스트 목록을 기존 이미지에 링크합니다.
-
이미지를 로컬로 만들고 실행합니다.
이제 플랫폼별 태그 대신 매니페스트 목록 태그를 사용하여 로컬 및 원격으로 이미지 인스턴스를 실행할 수 있습니다.
sudo -E podman run --rm --detach --init --publish 5808:5808 $OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4
-
이미지를 원격으로 만들고 실행합니다.
sudo -E podman --remote run --rm --detach --init --publish 5808:5808 $OCIR_INSTANCE/$OCIR_NAMESPACE/demo/rasdash:0.3.4
브라우저를 사용하여 이미지 테스트
인스턴스에 필요한 수신 규칙 및 firewalld 규칙을 생성했다고 가정합니다. 이 경우 브라우저를 열고 http://<PUBLIC_IP_ADDRESS_OF_ORACLE_CLOUD_DEVELOPER_INSTANCE>:5808
및 http://<PUBLIC_IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>:5808
로 이동하여 각 인스턴스에서 실행 중인 RasDash 웹 애플리케이션을 열 수 있어야 합니다.
그렇지 않으면 로컬 시스템에서 두 개의 터널을 만들어 이전과 같이 SSH 포트 전달을 사용할 수 있습니다.
-
Oracle Cloud Developer 인스턴스에 대한 SSH 터널을 엽니다.
ssh -L 5808:localhost:5808 -i <SSH_KEY> opc@<IP_ADDRESS_OF_ORACLE_CLOUD_DEVELOPER_INSTANCE>
로컬 시스템에서 브라우저를 열고
http://localhost:5808
로 이동하여 Cloud Development 인스턴스에서 arm64 기반 웹 애플리케이션을 확인합니다. -
SSH 터널 세션을 종료합니다.
-
Podman 서버 인스턴스에 대한 SSH 터널을 엽니다.
ssh -L 5808:localhost:5808 -i <SSH_KEY> opc@<IP_ADDRESS_OF_PODMAN_SERVER_INSTANCE>
Podman Server 인스턴스에서 amd64 기반 웹 애플리케이션을 보려면 로컬 시스템에서
http://localhost:5808
를 가리키는 브라우저를 새로 고치십시오.
다음 단계
이 자습서를 완료한 후에는 이제 전용 및 공용 OCIR 저장소에서 배치할 수 있는 이미지를 생성하는 방법을 알아야 합니다. Oracle Engine for Kubernetes(OKE) 또는 Oracle Cloud Native Environment와 같은 다양한 위치에서 이러한 이미지를 사용할 수 있습니다. Mac 또는 Windows용 Podman Desktop을 포함하여 Oracle Cloud Infrastructure 외부의 호스트에 이미지를 배치할 때 저장소가 퍼블릭인지 확인해야 합니다.
관련 링크
추가 학습 자원
docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Build Multi-Platform Container Images Using Podman on Oracle Linux
F50003-04