์บ์‹œ๋œ Docker Hub ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ

Artifact Registry๋Š” mirror.gcr.io์—์„œ ์ž์ฃผ ์•ก์„ธ์Šค๋˜๋Š” ๊ณต๊ฐœ Docker Hub ์ด๋ฏธ์ง€๋ฅผ ์บ์‹œํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ๋œ ๊ณต๊ฐœ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ Docker ๋ฐ๋ชฌ์„ ๊ตฌ์„ฑํ•˜์—ฌ ์ด ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์บ์‹œ๋œ ์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Docker Hub์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud Build ๋ฐ Google Kubernetes Engine๊ณผ ๊ฐ™์€ Google Cloud ์„œ๋น„์Šค๋Š” Docker Hub์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— ์บ์‹œ๋œ ์ด๋ฏธ์ง€๋ฅผ ์ž๋™์œผ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

mirror.gcr.io์—์„œ ์บ์‹œ๋œ ์ด๋ฏธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Google์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์ €์žฅ์†Œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • Docker Hub ์ž‘๋™ ์ค‘๋‹จ์œผ๋กœ๋ถ€ํ„ฐ ๋”์šฑ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค.
  • Google Cloud ์ƒํƒœ๊ณ„์™€ ์‰ฝ๊ฒŒ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค.
  • Docker Hub์™€ ๊ณ„์† ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

Docker ๋ฐ๋ชฌ ๊ตฌ์„ฑ

Artifact Registry ์บ์‹œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก Docker ๋ฐ๋ชฌ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

CLI

  1. ๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ๋ฐ๋ชฌ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • ์‹œ์ž‘ํ•  ๋•Œ ์ž๋™์œผ๋กœ Docker ๋ฐ๋ชฌ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด /etc/docker/daemon.json์— ๋‹ค์Œ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

      {
        "registry-mirrors": ["https://mirror.gcr.io"]
      }
      
    • ๋ฐ๋ชฌ์„ ์‹œ์ž‘ํ•  ๋•Œ ๋‹ค์Œ Artifact Registry ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

      dockerd --registry-mirror=https://mirror.gcr.io
      
    • /etc/default/docker ํŒŒ์ผ์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

      DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
      
  2. Docker ๋ฐ๋ชฌ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

    • Linux์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

      sudo service docker restart
      

      ๋˜๋Š”

      sudo service docker stop && sudo service docker start
      
    • macOS ๋˜๋Š” Windows์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

      docker-machine restart
      

Docker UI

  1. Docker์˜ ํ™˜๊ฒฝ์„ค์ • ๋ฉ”๋‰ด๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  2. ๋ฐ๋ชฌ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณ ๊ธ‰์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. JSON ํ•„๋“œ์— registry-mirrors ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฐ’์œผ๋กœ https://mirror.gcr.io๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    {
      "registry-mirrors" : [
        "https://mirror.gcr.io"
      ]
    }
    
  4. ์ ์šฉ ๋ฐ ์žฌ์‹œ์ž‘์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์บ์‹œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

docker system info

๊ฒฐ๊ณผ๋Š” Registry Mirrors๋ฅผ ํฌํ•จํ•˜๊ณ  ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 2
Server Version: 17.03.1-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
...
Registry Mirrors:
 https://mirror.gcr.io

์บ์‹œ๋œ ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ

Artifact Registry๋Š” ์ž์ฃผ ์š”์ฒญ๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋‚˜์ค‘์— ์š”์ฒญ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์บ์‹œ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์š”์ฒญ๋˜์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€๋„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

Artifact Registry ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก Docker ๋ฐ๋ชฌ์„ ๊ตฌ์„ฑํ•˜๋ฉด Docker๋Š” docker pull ๋ช…๋ น์–ด๋กœ ๊ณต๊ฐœ Docker Hub ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Docker ๋ฐ๋ชฌ์€ Artifact Registry ์บ์‹œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์œผ๋ฉด ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋ฐ๋ชฌ ๊ตฌ์„ฑ์— ๋‹ค๋ฅธ Docker ๋ฏธ๋Ÿฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐ๋ชฌ์€ ์บ์‹œ๋œ ์ด๋ฏธ์ง€ ๋ณต์‚ฌ๋ณธ์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ ๋ฏธ๋Ÿฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ์ด๋ฏธ์ง€๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๋ฉด Docker ๋ฐ๋ชฌ์€ Docker Hub์˜ ์ •๊ทœ ์ €์žฅ์†Œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์บ์‹œ๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ Docker Hub ๋น„์œจ ์ œํ•œ์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŠน์ • ์ด๋ฏธ์ง€๊ฐ€ ์žฅ์‹œ๊ฐ„ ๋™์•ˆ ์บ์‹œ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋œ๋‹ค๋Š” ๋ณด์žฅ์€ ์—†์Šต๋‹ˆ๋‹ค. Docker ๋ฐ๋ชฌ์„ ๊ตฌ์„ฑํ•˜์—ฌ mirror.gcr.io์—์„œ๋งŒ ์บ์‹œ๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

mirror.gcr.io์— ์บ์‹œ๋˜์ง€ ์•Š์€ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด Docker Hub์— ์ธ์ฆํ•˜๋ ค๋ฉด Artifact Registry ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ์ €์žฅ์†Œ๋Š” Docker Hub ์ธ์ฆ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์ด๋ฏธ์ง€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋‹ค์šด๋กœ๋“œ ๋น„์œจ ์ œํ•œ์ด ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ Docker Hub์— ์ธ์ฆํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Docker Hub ๋‹ค์šด๋กœ๋“œ ๋น„์œจ ์ œํ•œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Docker Hub ๋น„์œจ ์ œํ•œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„

  • Artifact Registry ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด Docker Hub ์ด๋ฏธ์ง€๋ฅผ ์บ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž์ฒด Docker ๋ฏธ๋Ÿฌ๋ฅผ ๋งŒ๋“ค์–ด ์ด๋ฏธ์ง€๋ฅผ ์บ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Docker ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • Docker Hub ๋ฌธ์„œ ์ฝ์–ด๋ณด๊ธฐ