Docker Registry

  • Q1. ์ปจํ…Œ์ด๋„ˆ ๋ณด๊ด€ ์ฐฝ๊ณ (Registry)๊ฐ€ ์žˆ์–ด์š”?
    • Registry : ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ
    • Docker Hub : hub.docer.com (์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์›น)
    • Private Registry : ์‚ฌ๋‚ด์˜ ์ปจํ…Œ์ด๋„ˆ ์ €์žฅ์†Œ

public ๊ณต๊ฐ„์˜ registry

png

png

  • Q2. docker hub(registry)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ด์š”.
    • https://hub.docker.com/
    • image ์ข…๋ฅ˜ : Official Images, Verified Publisher, etc.
    • ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰
$ docker search "keyword"

png

  • Q3. Private Registry ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์–ด์š”.
    • registry ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด์šฉํ•ด Private ์ปจํ…Œ์ด๋„ˆ ์šด์˜
    • registry image : ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์šด์˜ํ• ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ด๋ฏธ์ง€

png

Run a local registry

$ docker run -d -p 5000:5000 --restart always --name registry registry:2
  • -d ์˜ต์…˜ : detached mode ํ”ํžˆ ๋งํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ชจ๋“œ
  • -p ์˜ต์…˜ : ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐ (ํฌ์›Œ๋”ฉ)

pull official image of docker

$ docker pull [image name : tag]

pull image of private registry

image repository : localhost or ํ˜ธ์ŠคํŠธ๋„ค์ž„:ํฌํŠธ

#localhost:5000/ubuntu:18.04
#docker.example.com:5000/ubuntu:18.04
$ docker pull localhost:5000 / [image name : tag]

png


Public registry (Docker Hub) ์‹ค์Šต

  • httpd image ๋‹ค์šด๋กœ๋“œ
    $ docker pull httpd:latest
    

    latest : ํƒœ๊ทธ ์ƒ๋žตํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ

  • httpd images ํ™•์ธํ•˜๊ธฐ
    $ docker images httpd
    
  • tag ์„ค์ •
    $ docker tag httpd:latest qkralsun/httpd:latest
    
  • docker push (DockerHub์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ)
    $ docker push qkralsun/httpd:latest
    

    png

Private registry ์‹ค์Šต

  • Private registry ์šด์˜ํ•˜๋Š” ์ด์œ ?
    • ์™ธ๋ถ€๋„คํŠธ์›Œํฌ๊ฐ€ ์•ˆ๋˜๋Š” ๊ณณ์—์„œ ์šด์˜์„ ํ•˜๊ณ  ์‹ถ๋‹ค.
    • ์‚ฌ๋‚ด์—์„œ๋งŒ ์ „์šฉ์œผ๋กœ ์“ธ์ˆ˜ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • docker run (์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘)
    $ docker run -d -p 5000:5000 --restart always --name registry registry:2
    
  • ์šด์˜์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ํ™•์ธ
    $ docker ps
    
  • tag ์„ค์ •
    $ docker tag httpd:latest localhost:5000/httpd:latest
    
  • private registry์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ
    $ docker push localhost:5000/httpd:latest
    
  • private registry์— push ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
    $ cd /var/lib/docker/volumes/7547ad7b4e8d94e11a907e0b1932481a8107cc7aec4f89cbb7c41a313d00c726/_data/docker/registry/v2/repositori
    es
    $ ls
    

png


Source

์ด๋ก  : https://www.youtube.com/watch?v=aFIj68YuvzQ&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=13

์‹ค์Šต : https://www.youtube.com/watch?v=bQ6XxI0Ep_Q&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=14