2.7. 컨테이너 이미지 수정
Red Hat은 Red Hat Container Catalog(registry.redhat.io)를 통해 사전 빌드된 컨테이너 이미지 세트를 제공합니다. 이러한 이미지를 수정하고 추가 레이어를 추가할 수 있습니다. 이는 인증된 타사 드라이버에 RPM을 컨테이너에 추가하는 데 유용합니다.
수정된 OpenStack Platform 컨테이너 이미지를 지속적으로 지원하려면 결과 이미지가 "Red Hat Container Support Policy" 를 준수하도록 합니다.
이 예에서는 최신 openstack-keystone 이미지를 사용자 지정하는 방법을 보여줍니다. 그러나 이러한 지침은 다른 이미지에도 적용할 수 있습니다.
절차
수정하려는 이미지를 가져옵니다. 예를 들어
openstack-keystone이미지의 경우 다음을 실행합니다.sudo docker pull registry.redhat.io/rhosp13/openstack-keystone:latest
$ sudo docker pull registry.redhat.io/rhosp13/openstack-keystone:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 원본 이미지에서 기본 사용자를 확인합니다. 예를 들어
openstack-keystone이미지의 경우 다음을 실행합니다.sudo docker run -it registry.redhat.io/rhosp13/openstack-keystone:latest whoami
$ sudo docker run -it registry.redhat.io/rhosp13/openstack-keystone:latest whoami rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고openstack-keystone이미지는root를 기본 사용자로 사용합니다. 다른 이미지는 특정 사용자를 사용합니다. 예를 들어openstack-glance-api는 기본 사용자에glance를 사용합니다.Dockerfile을 생성하여 기존 컨테이너 이미지에서 추가 계층을 빌드합니다. 다음은 Container Catalog에서 최신 OpenStack Identity(keystone) 이미지를 가져와서 이미지에 사용자 지정 RPM 파일을 설치하는 예입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 이미지를 빌드하고 태그를 지정합니다. 예를 들어
/home/stack/keystone디렉터리에 저장된 로컬Dockerfile로 빌드하고 언더클라우드의 로컬 레지스트리에 태그를 지정하려면 다음을 수행합니다.docker build /home/stack/keystone -t "192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1"
$ docker build /home/stack/keystone -t "192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과 이미지를 언더클라우드의 로컬 레지스트리로 푸시합니다.
docker push 192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1
$ docker push 192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
오버클라우드 컨테이너 이미지 환경 파일(일반적으로
overcloud_images.yaml)을 편집하고 사용자 정의 컨테이너 이미지를 사용하도록 적절한 매개변수를 변경합니다.
Container Catalog는 완전한 소프트웨어 스택을 사용하여 컨테이너 이미지를 게시합니다. Container Catalog에서 업데이트 및 보안 수정으로 컨테이너 이미지를 릴리스하면 기존 사용자 정의 컨테이너에 이러한 업데이트가 포함되지 않으므로 카탈로그의 새 이미지 버전을 사용하여 다시 빌드해야 합니다.