[์ƒํ™œ์ฝ”๋”ฉ] ๐Ÿ›github ๋ฅผ ํ†ตํ•œ Docker Image ๊ณต์œ 

Chobbyยท2022๋…„ 2์›” 22์ผ
1

Docker

๋ชฉ๋ก ๋ณด๊ธฐ
2/3

ํ•ด๋‹น ๊ธ€์€ ์ƒํ™œ์ฝ”๋”ฉ๋‹˜์˜ github ๋กœ Docker image ๊ณต์œ ํ•˜๊ธฐ ๋ฅผ ๋ณด๊ณ  ์ œ์ž‘๋˜์—ˆ์Œ์„ ๋ฐํž™๋‹ˆ๋‹ค.

๋จผ์ € ๊นƒํ—ˆ๋ธŒ ๊ฐœ์ธ ์•ก์„ธ์Šค ํ† ํฐ ํƒญ์— ์ ‘๊ทผํ•˜์—ฌ ํ† ํฐ์„ ์ƒ์„ฑํ•ด์ค€๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ์ž์‹ ์˜ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š”๊ฒƒ์— ํ•„์š”ํ•จ

โ€ป ์‚ฌ์ง„์„ ํด๋ฆญํ•˜๋ฉด ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

Generate new token์„ ๋ˆŒ๋Ÿฌ ์ƒ์„ฑ ์ค€๋น„๋ฅผ ํ•œ๋‹ค.

  1. Note์— ๊ฐ„๋‹จํ•œ ์„ค๋ช…์„ ๋ช…์‹œ
  2. Select scopes์—์„œ write:packages ์™€ read:packages๋ฅผ ์ฒดํฌํ•ด์ฃผ์–ด ์ ‘๊ทผ๊ถŒํ•œ ํ—ˆ์šฉ

โ€ป ์ดํ›„ ํ‘œ์‹œ๋˜๋Š” ์•ก์„ธ์Šค ์ฝ”๋“œ๋Š” ๊ผญ ๋ณต์‚ฌํ•ด๋‘”๋‹ค.

ghcr.io ์— ์•„์ด๋””์™€ ๋ฐฉ๊ธˆ ํ‘œ์‹œ๋˜๋Š” ์•ก์„ธ์Šค ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋กœ๊ทธ์ธ ํ•˜๋ฉด ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

--password-stdin ์„ -p ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ์ „ํ•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋ฉฐ -stdin ์˜ต์…˜์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ echo ํ•  ๋•Œ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฌผ์„ ๋ฐ›๋Š” ์˜ต์…˜์ด๋‹ค.

set ์„ ํ†ตํ•ด ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค

โ€ป ์ด ๋•Œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์ด๋ผ๋ฉด export๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์ž˜ ์ €์žฅ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด

echo %ํ™˜๊ฒฝ๋ณ€์ˆ˜% ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

โ€ป ์ด ๋•Œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์ด๋ผ๋ฉด echo $ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

echo ๋กœ ์ถœ๋ ฅํ•จ๊ณผ ๋™์‹œ์— | ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ --password-stdin ์˜ต์…˜์— ์ ์šฉ์‹œ์ผœ์ค€๋‹ค.

docker run ์„ ํ†ตํ•ด my-ubuntu๋ผ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ubuntu ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ

docker commit ์„ ํ†ตํ•ด my-ubuntu๋ฅผ ghcr.io/์‚ฌ์šฉ์ž๋ช…/์ด๋ฏธ์ง€:๋ฒ„์ „ ์œผ๋กœ ์Šคํ…Œ์ด์ง•

docker push ๋ฅผ ์‚ฌ์šฉํ•ด docker push (์Šคํ…Œ์ด์ง•์‹œ ์‚ฌ์šฉํ•œ ๊ฒฝ๋กœ) ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ

์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ github๋ฅผ ํ†ตํ•ด Docker image๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

docker hub๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์œ ๋ฃŒ๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๊ธฐ์— github ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜์Œ

profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€