7.9. UBI 컨테이너 소스 코드 가져오기
소스 코드는 다운로드 가능한 컨테이너 이미지 형태로 모든 Red Hat UBI 기반 이미지에서 사용할 수 있습니다. 컨테이너로 패키징해도 소스 컨테이너 이미지를 실행할 수 없습니다. Red Hat 소스 컨테이너 이미지를 시스템에 설치하려면 podman pull
명령이 아닌 skopeo
명령을 사용합니다.
소스 컨테이너 이미지의 이름은 나타내는 바이너리 컨테이너를 기반으로 합니다. 예를 들어 특정 표준 RHEL UBI 9 컨테이너 registry.access.redhat.com/ubi9:8.1-397
append -source
를 추가하여 소스 컨테이너 이미지(registry.access.redhat.com/ubi9:8.1-397-source
)를 가져옵니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다.
절차
skopeo copy
명령을 사용하여 소스 컨테이너 이미지를 로컬 디렉터리에 복사합니다.$ skopeo copy \ docker://registry.access.redhat.com/ubi9:8.1-397-source \ dir:$HOME/TEST ... Copying blob 477bc8106765 done Copying blob c438818481d3 done ... Writing manifest to image destination Storing signatures
skopeo inspect
명령을 사용하여 소스 컨테이너 이미지를 검사합니다.$ skopeo inspect dir:$HOME/TEST { "Digest": "sha256:7ab721ef3305271bbb629a6db065c59bbeb87bc53e7cbf88e2953a1217ba7322", "RepoTags": [], "Created": "2020-02-11T12:14:18.612461174Z", "DockerVersion": "", "Labels": null, "Architecture": "amd64", "Os": "linux", "Layers": [ "sha256:1ae73d938ab9f11718d0f6a4148eb07d38ac1c0a70b1d03e751de8bf3c2c87fa", "sha256:9fe966885cb8712c47efe5ecc2eaa0797a0d5ffb8b119c4bd4b400cc9e255421", "sha256:61b2527a4b836a4efbb82dfd449c0556c0f769570a6c02e112f88f8bbcd90166", ... "sha256:cc56c782b513e2bdd2cc2af77b69e13df4ab624ddb856c4d086206b46b9b9e5f", "sha256:dcf9396fdada4e6c1ce667b306b7f08a83c9e6b39d0955c481b8ea5b2a465b32", "sha256:feb6d2ae252402ea6a6fca8a158a7d32c7e4572db0e6e5a5eab15d4e0777951e" ], "Env": null }
모든 콘텐츠의 압축을 풉니다.
$ cd $HOME/TEST $ for f in $(ls); do tar xvf $f; done
결과를 확인합니다.
$ find blobs/ rpm_dir/ blobs/ blobs/sha256 blobs/sha256/10914f1fff060ce31388f5ab963871870535aaaa551629f5ad182384d60fdf82 rpm_dir/ rpm_dir/gzip-1.9-4.el8.src.rpm
결과가 올바르면 이미지를 사용할 준비가 된 것입니다.
연결된 소스 컨테이너를 사용할 수 있도록 컨테이너 이미지를 릴리스한 후 몇 시간이 걸릴 수 있습니다.
추가 리소스
-
Skopeo-copy
도움말 페이지 -
Skopeo-inspect
도움말 페이지