도커 이미지 배포

iseon_u·2023년 5월 1일
0

Docker

목록 보기
9/12
post-thumbnail

도커 허브 저장소

  • 이미지 저장소 생성
    • 도커 허브 사이트에서 Create Repository로 생성
  • 저장소에 이미지 올리기
    $ docker run -i -t --name commit_container1 ubuntu:14.04
    $ docker commit commit_container1 my-image-name:0.0
    1. 저장소에 올릴 이미지 생성

      $ docker tag my-image-name:0.0 alicekl07/my-image-name:0.0
    2. 이미지 이름 추가
      - docker tag [기존의 이미지 이름] [새롭게 생성될 이미지 이름]
      - 기존 이름이 사라지는 것이 아니라 같은 이미지를 가리키는 새로운 이름 추가

      $ docker login
    3. 도커 허브 서버에 로그인
      - 회원 가입때 사용한 아이디와 비밀번호를 입력
      - 로그인 정보 삭제시 docker logout 입력

      $ docker push
    4. 이미지를 저장소에 전송

      $ docker pull alicekl07/my-image-name:0.0
    5. 도커에서 이미지 내려받기

저장소 웹훅 추가

  • 저장소에 이미지가 push 됐을 때 특정 URL로 http 요청 전송 설정
  • 저장소에 새로운 이미지가 생성됐을 때 지정된 URL로 해당 이미지의 정보와 함께 http 요청 전송
  • 저장소 페이지의 Webhooks 탭에서 새로운 웹훅을 추가 가능

도커 사설 레지스트리

  • 사설 레지스트리 컨테이너 생성
  • 도커 이미지 공식적으로 제공
    • run 명령어로 사용 가능

run 명령어로 사설 레지스트리 생성

docker run -d --name myregistry \ 
-p 5000:5000 \
--restart=always \
registry:2.6 
  • 옵션 --restart
    • 컨테이너가 종료됐을 때 재시작에 대한 정책 설정
  • 레지스트리 컨테이너는 기본적으로 5000번 포트 사용
    • 컨테이너 5000번 포트 호스트 5000번 포트와 연결

curl 명령어 사용

curl localhost:5000/v2/
  • curl HTTP 요청을 보내는 도구
  • 레지스트리 컨테이너가 정상적으로 작동하는지 확인

사설 레지스트에 이미지 push 준비

$ docker tag my-image-name:0,0 ${DOCKER_HOST_IP}:5000/my-image-name:0.0
  • 이미지 이름 추가
  • ${DOCKER_HOST_IP}
    • 레지스트리 컨테이너를 생성한 도커 호스트의 IP를 입력

사설 레지스트에 이미지 push 하기

$ docker push 192.168.99.101:5000/my-image-name:0.0
  • 도커 허브에서 이미지를 push
  • 오류 발생
    • 도커 데몬은 기본적으로 HTTPS를 사용하지 않은 레지스트리 컨테이너에 접근하지 못하도록 설정

DOCKER_OPTS="— insecure-registry=192,168.99.101:5000”

  • 옵션 —-insecure-registry
    • HTTPS를 사용하지 않는 레지스트리 컨테이너에 이미지를 push, pull 할 수 있게 설정

docker pull 192.168.99.101:5000/my-image-name:0.0

  • pull도 push와 마찬가지

ℹ️ 레지스터 컨테이너는 생성됨과 동시에 컨테이너 내부 디렉터리에 마운트되는 도커 볼륨 생성

profile
🧑🏻‍💻 Hello World!

0개의 댓글