6.7. 이미지 스트림으로 작업
다음 섹션에서는 이미지 스트림 및 이미지 스트림 태그를 사용하는 방법에 대해 설명합니다.
6.7.1. 이미지 스트림에 대한 정보 얻기
이미지 스트림에 대한 일반 정보와 해당 이미지 스트림이 가리키는 모든 태그에 대한 자세한 정보를 얻을 수 있습니다.
절차
이미지 스트림에 대한 일반 정보와 해당 이미지 스트림이 가리키는 모든 태그에 대한 자세한 정보를 얻으려면 다음 명령을 입력합니다.
$ oc describe is/<image-name>
예를 들면 다음과 같습니다.
$ oc describe is/python
출력 예
Name: python Namespace: default Created: About a minute ago Labels: <none> Annotations: openshift.io/image.dockerRepositoryCheck=2017-10-02T17:05:11Z Docker Pull Spec: docker-registry.default.svc:5000/default/python Image Lookup: local=false Unique Images: 1 Tags: 1 3.5 tagged from centos/python-35-centos7 * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 About a minute ago
특정 이미지 스트림 태그에 대한 사용 가능한 모든 정보를 얻으려면 다음 명령을 입력합니다.
$ oc describe istag/<image-stream>:<tag-name>
예를 들면 다음과 같습니다.
$ oc describe istag/python:latest
출력 예
Image Name: sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 Docker Image: centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 Name: sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 Created: 2 minutes ago Image Size: 251.2 MB (first layer 2.898 MB, last binary layer 72.26 MB) Image Created: 2 weeks ago Author: <none> Arch: amd64 Entrypoint: container-entrypoint Command: /bin/sh -c $STI_SCRIPTS_PATH/usage Working Dir: /opt/app-root/src User: 1001 Exposes Ports: 8080/tcp Docker Labels: build-date=20170801
참고표시된 것보다 더 많은 정보가 출력됩니다.
다음 명령을 입력하여 이미지 스트림 태그가 지원하는 아키텍처 또는 운영 체제를 확인합니다.
$ oc get istag <image-stream-tag> -ojsonpath="{range .image.dockerImageManifests[*]}{.os}/{.architecture}{'\n'}{end}"
예를 들면 다음과 같습니다.
$ oc get istag busybox:latest -ojsonpath="{range .image.dockerImageManifests[*]}{.os}/{.architecture}{'\n'}{end}"
출력 예
linux/amd64 linux/arm linux/arm64 linux/386 linux/mips64le linux/ppc64le linux/riscv64 linux/s390x
6.7.2. 이미지 스트림에 태그 추가
이미지 스트림에 태그를 더 추가할 수 있습니다.
절차
‘oc tag’ 명령을 사용하여 기존 태그 중 하나를 가리키는 태그를 추가합니다.
$ oc tag <image-name:tag1> <image-name:tag2>
예를 들면 다음과 같습니다.
$ oc tag python:3.5 python:latest
출력 예
Tag python:latest set to python@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25.
이미지 스트림에 두 개의 태그 즉, 외부 컨테이너 이미지를 가리키는 하나의 태그(
3.5
)와 첫 번째 태그를 기반으로 생성되어 동일한 이미지를 가리키는 다른 태그(latest
)가 있는지 확인합니다.$ oc describe is/python
출력 예
Name: python Namespace: default Created: 5 minutes ago Labels: <none> Annotations: openshift.io/image.dockerRepositoryCheck=2017-10-02T17:05:11Z Docker Pull Spec: docker-registry.default.svc:5000/default/python Image Lookup: local=false Unique Images: 1 Tags: 2 latest tagged from python@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 About a minute ago 3.5 tagged from centos/python-35-centos7 * centos/python-35-centos7@sha256:49c18358df82f4577386404991c51a9559f243e0b1bdc366df25 5 minutes ago
6.7.3. 외부 이미지에 대해 태그 추가
외부 이미지에 대해 태그를 추가할 수 있습니다.
절차
모든 태그 관련 작업에
oc tag
명령을 사용하여 내부 또는 외부 이미지를 가리키는 태그를 추가합니다.$ oc tag <repository/image> <image-name:tag>
예를 들어 이 명령은
python
이미지 스트림에서docker.io/python:3.6.0
이미지를3.6
태그에 매핑합니다.$ oc tag docker.io/python:3.6.0 python:3.6
출력 예
Tag python:3.6 set to docker.io/python:3.6.0.
외부 이미지에 보안이 설정되어 있으면 해당 레지스트리에 액세스하는 데 사용할 인증 정보가 포함된 시크릿을 생성해야 합니다.
6.7.4. 이미지 스트림 태그 업데이트
이미지 스트림의 다른 태그를 반영하도록 태그를 업데이트할 수 있습니다.
절차
태그를 업데이트합니다.
$ oc tag <image-name:tag> <image-name:latest>
예를 들어 다음에서는 이미지 스트림의
3.6
태그를 반영하도록latest
태그를 업데이트합니다.$ oc tag python:3.6 python:latest
출력 예
Tag python:latest set to python@sha256:438208801c4806548460b27bd1fbcb7bb188273d13871ab43f.
6.7.5. 이미지 스트림 태그 제거
이미지 스트림에서 이전 태그를 제거할 수 있습니다.
프로세스
이미지 스트림에서 이전 태그를 제거합니다.
$ oc tag -d <image-name:tag>
예를 들면 다음과 같습니다.
$ oc tag -d python:3.6
출력 예
Deleted tag default/python:3.6
6.7.6. 주기적으로 이미지 스트림 태그 가져오기 구성
외부 컨테이너 이미지 레지스트리로 작업하는 경우 예를 들어 최신 보안 업데이트를 받기 위해 이미지를 정기적으로 다시 가져오려면 --scheduled
플래그를 사용할 수 있습니다.
프로세스
이미지 가져오기를 스케줄링합니다.
$ oc tag <repository/image> <image-name:tag> --scheduled
예를 들면 다음과 같습니다.
$ oc tag docker.io/python:3.6.0 python:3.6 --scheduled
출력 예
Tag python:3.6 set to import docker.io/python:3.6.0 periodically.
이 명령은 OpenShift Container Platform이 특정 이미지 스트림 태그를 주기적으로 업데이트하도록 합니다. 이 기간은 기본적으로 15분으로 설정되는 클러스터 전체 설정입니다.
정기 점검을 없애고 위 명령을 다시 실행하되
--scheduled
플래그를 생략합니다. 이렇게 하면 동작이 기본값으로 재설정됩니다.$ oc tag <repositiory/image> <image-name:tag>