mjeongriver
article thumbnail

1. 원격저장소 이용한 도커이미지 관리

https://seosh817.tistory.com/345

 

[Docker] 도커란? - 도커 개념 정리

이 포스트는 시작하세요 도커! 책을 참고하였습니다. 도커란? 도커(Docker)는 리눅스 컨테이너에 리눅스 어플리케이션을 프로세스 격리기술을 사용하여 더 쉽게 컨테이너로 실행하고 관리할 수

seosh817.tistory.com

 

  • 도커허브는 이미지를 저장할 수 있는 원격의저장소(public공간)을 제공합니다.
  • github와 비슷하다고 생각하면 됩니다.
  • 도커허브는 private공간을 제공하는데 1개만 사용 가능하고, 여러 개를 만드려면 비용 지불이 필요합니다.
  • 회사에서 내부적으로 사용하는 이미지 저장공간은 private registry이미지를 사용합니다.
  • docker official image 도커가 인증하는 공식 이미지
  • verified publisher 공식회사(벤더사)가 제공하는 컨테이너 이미지들

 

2. 도커허브 명령문

  • 로컬에서 도커허브를 사용하려면 도커에 로그인 해야 합니다.
  • 개인 레파지토리로 올릴 때는 규칙이 있습니다.
  • 반드시 이름이 <계정명/이미지:태그> 형식을 따라갑니다.

도커로그인

docker login

 

도커 태그명 변경

docker tag <name명:태그명> <변경할이름:태그명> docker tag myweb:v1 coding404/myweb:v1

 

도커허브에 push하기

docker push 이미지명:태그명 docker push coding404/myweb:v1

 

도커허브에 이미지가 올라가 있으면 도커가 설치되어있는 어디서든 이미지를 받아서 사용할 수 있습니다.

도커허브에 pull하기

docker pull 이미지명:태그명 docker pull coding404/myweb:v1

 

해당 이미지로 서비스하기 (컨테이너명 변경, 포트변경, 네트워크유지, 볼륨유지, 이미지명변경)

docker run --name webserver3 -d -p 8383:8484 --net web-network -v webserver-upload:/upload coding404/myweb:v1

 

3. 도커 registry 서비스

  • 회사 내부망만 허용되고 외부 원격 서비스가 차단된 경우는 도커 허브를 이용할 수 없습니다.
  • 그럼 내부망에서만 사용할 이미지를 어떻게 관리할 수 있는가? Registry서비스를 사용하면 됩니다.
  • Registry는 도커허브처럼 원격 저장소로 사용할 수 있는 도커이미지 입니다.

- Registry 사용방법

Registry를 사용하기 위해 도커허브에서 사용 방법을 확인합니다. https://hub.docker.com/_/registry

로컬에서 동작되는 Registry에 나의 도커 이미지를 올려주는데,

  • 서버에서는 Registry를 컨테이너로 동작시키고
  • localhost:5000/이미지:태그 형태로 push하면 됩니다.
  • 외부에서 사용하려면 <아이피주소:5000/이미지:태그> 형태로 push, pull 하면 된다.

- Registry 설치

docker pull registry docker run -d -p 5000:5000 --restart always --name registry registry:2 docker ps

 

- Registry사용하기

우리가 만들어두었던 이미지를 올려보자. registry에 올리기 위한 이미지생성

docker tag myweb:v1 localhost:5000/myweb:v1

 

- push하기

docker push localhost:5000/myweb:v1

 

- 이미지삭제하고 pull 받아보기

docker rmi localhost:5000/myweb:v1 docker pull localhost:5000/myweb:v1

 

- Registry에는 /var/lib/registry/docker///폴더에 우리가 push한 이미지가 저장되는 형태입니다.

Registry컨테이너에서 확인하기

docker exec -it registry /bin/sh

'TIL > Docker' 카테고리의 다른 글

day96-docker compose  (0) 2023.03.31
day96-docker volume  (0) 2023.03.31
day96-docker 네트워크  (0) 2023.03.31
day96-dockerfile  (0) 2023.03.31
day96-docker  (0) 2023.03.31
profile

mjeongriver

@mjeongriver

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그