반응형

https://sean.tistory.com/287

위의 링크를 참고하여 Docker 레지스트리 설치

 


도커 레지스트리 사용법

  • config_sample.yml을 참고하여 설정하면 되는데, 아무것도 설정하지 않으면 도커 레지스트리는 기본적으로 로컬 디스크에 데이터를 저장한다.

 

사용자 도커 이미지를 만든다.

  • 기본적으로 프라이빗 레지스트리는 자신이 직접 빌드한 이미지를 저장하기 위해 사용한다.

 

도커 레지스트리에 push 하기 전 이미지 이름 변경

  • 아래와 같이 입력하면 이름만 다른 같은 이미지가 생성된다.
ex) docker tag [이미지 이름] [새 이름]
docker tag user1/docker_sample 0.0.0.0:5000/docker_sample

 

도커 레지스트리에 push 하기

  • 아래와 같이 슬래시 앞에 레지스트리의 주소를 지정해 이름을 부여하고 push하면 해당하는 도커 레지스트리에 이미지가 업로드된다.
docker push 0.0.0.0:5000/docker_sample

 

도커 레지스트리에서 pull하여 실행하기

 docker run 0.0.0.0:5000/docker_sample

 

원격에서 도커 레지스트리 사용

  • 아래의 명령어를 다른 도커 서버에서 입력하여 로컬 머신의 도커 레지스트리로부터 이미지를 받아갈 수 있다.
docker run [공인 ip]:5000/docker_sample

 


AWS S3에 도커 이미지 저장하기

  • 도커 레지스트리는 python Flask에 기반한 웹 어플리케이션이므로 S3에서는 도커 레지스트리를 구동할 수 없기에 도커 레지스트리는 EC2나 로컬 서버를 이용해서 별도로 실행해야 한다.
  • 레지스트리 설정에 이미지 저장 공간을 로컬 드라이브가 아닌 S3 버킷을 지정해두면 해당하는 버킷에 이미지를 저장하는데, 이렇게 설정하면 도커 레지스트리에 이미지를 푸시할 때 도커 레지스트리는 이 이미지를 S3로 복사한다.

 

도커 레지스트리 저장공간으로 S3 설정

  1. s3api 명령어나 aws 웹 콘솔에서 S3에 docker-registry라는 새로운 버킷을 만든다.
  2. config.yml 파일을 작성한다. 버핏 이름과 <>로 둘러쌓인 변수들을 적절하게 바꿔주고 아래의 예시에서는 도쿄를 사용하고 있다고 가정하고 s3_region에는 ap-northeast-1을 지정한다. 이 파일을 적절히 새로운 디렉토리에 저장한다.
prod:
    storage: s3
    boto_bucket: docker-registry
    s3_access_key: <S3_ACCESS_KEY>
    s3_secret_key: <S3_SECRET_KEY>
    s3_bucket: docker-registry
    s3_encrypt: true
    s3_secure: true
    s3_region: ap-northeast-1
    secret_key: <SECRET_KEY>
    storage_path: /images
  1. 도커 컨테이너에 호소트의 디렉토리를 마운트하는 기능을 사용한다. -v {HOST_DIR}:{CONTAINER_DIR}와 같이 지정하면 HOST_DIR이 컨테이너 내부의 CONTAINOER_DIR에 마운트 된다. -e는 컨테이너 내부의 환경 변수를 지정하는 옵션인데, DOCKER_REGISTRY_CONFIG는 설정 파일 위치를 지정하는 환경변수이다. SETTINGS_FLAVOR는 실행 환경을 선택하는 환경 변수이다.
  2. docker run -d -p 5000:5000 -v /home/user1/src/registry-conf:/registry-conf -e SETTINGS_FLAVOR=prod -e DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml registry
  3. ps 명령어로 컨테이너가 정상적으로 실행되었는지 확인한다.
docker ps -l
  1. 로컬에서와 마찬가지로 0.0.0.0:5000에 이미지를 푸시한다.
docker push 0.0.0.0:5000/docker_sample

 


https://www.44bits.io/ko/post/running-docker-registry-and-using-s3-storage

반응형

+ Recent posts