8.3. OpenStack Platform 컨테이너 수정
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:latest
Copy 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 root
Copy 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:rev1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
오버클라우드 컨테이너 이미지 환경 파일(일반적으로
overcloud_images.yaml
)을 편집하고 사용자 지정 컨테이너 이미지를 사용하도록 적절한 매개변수를 변경합니다.
Container Catalog는 전체 소프트웨어 스택이 빌드된 컨테이너 이미지를 게시합니다. Container Catalog에서 업데이트 및 보안 수정 사항으로 컨테이너 이미지를 릴리스하면 기존 사용자 정의 컨테이너에 이러한 업데이트가 포함되지 않으므로 카탈로그에서 새 이미지 버전을 사용하여 다시 빌드해야 합니다.