๊ณ„๋ž€์†Œ๋…„ 2024. 12. 5. 15:22

๋กœ์ปฌ์— ์ด๋ฏธ์ง€๊ฐ€ ์—†์–ด์„œ unable to find image locally → ๋„์ปค๊ฐ€ ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์Œ

๋‚ด๋ ค๋ฐ›๊ณ  ํ•ด๋‹น ์ด๋ฏธ์ง€๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

 

์ด ๊ณผ์ •์—์„œ ๋„์ปค ์›Œํฌํ”Œ๋กœ ๊ณผ์ • ์ดํ•ด ๊ฐ€๋Šฅ (๋นŒ๋“œ-๊ณต์œ -์‹คํ–‰ ์›Œ์ปคํ”Œ๋กœ)

์ œ์ž‘์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ค์ง•ํ•˜๊ณ  ๊ณต์œ ํ•œ ๊ฒƒ์„ ๋‚ด๊ฐ€ ๋‚ด๋ ค๋ฐ›์•„์„œ ์‹คํ–‰ํ•œ๋‹ค.

์žฌ์‹คํ–‰ ์‹œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์ง€ ์•Š๊ณ , ์ปจํ…Œ์ด๋„ˆ๋งŒ ์‹คํ–‰ํ•œ๋‹ค.

์ถ”๊ฐ€๋กœ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ–ˆ๊ธฐ์—, ์ปดํ“จํ„ฐ ์ด๋ฆ„์ด ๋ฐ”๋€๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅ

 

์ปจํ…Œ์ด๋„ˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ƒ์ž์ด๋‹ค.

์ปจํ…Œ์ด๋„ˆ๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ํ™˜๊ฒฝ์„ ๊ฐ–๊ณ , ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•œ๋‹ค.

ํ˜ธ์ŠคํŠธ๋ช…, IP์ฃผ์†Œ, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ชจ๋‘ ๋„์ปค๊ฐ€ ์ƒ์„ฑํ•œ ๊ฐ€์ƒ ๋ฆฌ์†Œ์Šค์ด๋‹ค. ์ด๋“ค์ด ์—ฎ์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ๋Š” ๋ณ„๋„์˜ ํ˜ธ์ŠคํŠธ๋ช…, IP์ฃผ์†Œ, ๋””์Šคํฌ๋ฅผ ๊ฐ–๋Š”๋‹ค. ๋˜ํ•œ, ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋Š” ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ, CPU, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค.

 

๋ฐ€์ง‘: ์ปดํ“จํ„ฐ์— CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์ˆ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ

๊ฒฉ๋ฆฌ์™€ ๋ฐ€์ง‘์„ ๋™์‹œ์— ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

 

<๊ฐ€์ƒ๋จธ์‹ ๊ตฌ์กฐ>

๊ฐ€์ƒ๋จธ์‹ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ์œ„ํ•œ ๋…๋ฆฝ์  ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณ„๋„์˜ ์šด์˜์ฒด์ œ๋ฅผ ํ•„์š”๋กœํ•œ๋‹ค. ์ด ๊ฐ๊ฐ์˜ ์šด์˜์ฒด์ œ๊ฐ€ CPU, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ๋‹น๋Ÿ‰ ์ฐจ์ง€ํ•œ๋‹ค.

์ฆ‰, ๊ฐ€์ƒ ๋จธ์‹ ์€ ๊ฒฉ๋ฆฌ๋Š” ๋‹ฌ์„ฑํ•˜์ง€๋งŒ, ๋ฐ€์ง‘์€ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•œ๋‹ค.

 

<์ปจํ…Œ์ด๋„ˆ๊ตฌ์กฐ>

์ปจํ…Œ์ด๋„ˆ์˜ ๊ฒฝ์šฐ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ฒฝ๊ฐ๋˜๊ณ , ์†๋„ ๋˜ํ•œ ๋นจ๋ผ์ง„๋‹ค. ์™ธ๋ถ€์™€ ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋ฐ€์ง‘๊ณผ ๊ฒฉ๋ฆฌ๊ฐ€ ๋™์‹œ์— ๋‹ฌ์„ฑ

 

๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋„๊ตฌ์™€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ํŒจํ‚ค์ง•ํ•ด ์ปจํ…Œ์ด๋„ˆ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์›๊ฒฉ ์ปดํ“จํ„ฐ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋Š” ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ์—, ๋‚ด ์ปดํ“จํ„ฐ์— ๋งž์ถ”์–ด ์…ธ์ด ๋œจ๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด ํ™•์ธ

 

์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ์ปจํ…Œ์ด๋„ˆ๋„ ์‹คํ–‰์ค‘์ด ๋œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋„ ์ข…๋ฃŒ๋œ๋‹ค.

๋‹ค๋งŒ, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ์ปจํ…Œ์ด๋„ˆ๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ๋กœ๊ทธ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๊ณ„์† ๋™์ž‘ํ•˜๋„๋ก ํ•˜๊ธฐ

 

docker desktop์—์„œ ์ข…๋ฃŒ๋œ ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์™€ ๋‹ฌ๋ฆฌ ๊ณ„์† ์‹คํ–‰์ค‘์ธ๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

--detach: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋ฐ์—์„œ ์‹คํ–‰ํ•˜๋ฉฐ ์ปจํ…Œ์ด๋„ˆ ID ์ถœ๋ ฅ(like daemon)

--publish: ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ๋ฅผ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ๊ณต๊ฐœ

 

์ปจํ…Œ์ด๋„ˆ๋Š” ์™ธ๋ถ€ํ™˜๊ฒฝ์— ๋…ธ์ถœ๋˜์ง€ ์•Š๊ณ , ์ปจํ…Œ์ด๋„ˆ๋ณ„๋กœ ๊ณ ์œ  IP ๊ฐ–์ง€๋งŒ, ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ์ผ ๋ฟ์ด๋‹ค.

ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ๊ฐ€ ์—ฐ๊ฒฐ๋œ ๋ฌผ๋ฆฌ ๋„คํŠธ์›Œํฌ ์ปดํ“จํ„ฐ๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ IP์ฃผ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

ํฌํŠธ๋ฅผ ๊ณต๊ฐœํ•จ์œผ๋กœ์จ ๋„์ปค๊ฐ€ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ํฌํŠธ๋ฅผ ์ฃผ์‹œํ•˜๋‹ค๊ฐ€ ํ•ด๋‹น ํฌํŠธ๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ „๋‹ฌํ•ด ์ค€๋‹ค.

ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ 8080๋ฒˆ ํฌํŠธ๋กœ ๋“ค์–ด์˜จ ํŠธ๋ž˜ํ”ฝ์ด ์ปจํ…Œ์ด๋„ˆ์˜ 80๋ฒˆ ํฌํŠธ๋กœ ์ „๋‹ฌ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

http://localhost:8080 ๋กœ ์ ‘์†์‹œ ์›นํŽ˜์ด์ง€๊ฐ€ ๋œฌ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋„์ปค์˜ ์ด์‹์„ฑ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์›น ํŽ˜์ด์ง€๊ฐ€ ์›น์„œ๋ฒ„์™€ ํ•จ๊ป˜ ์ด๋ฏธ์ง€๋กœ ํŒจํ‚ค์ง•๋˜๊ณ , ์ปจํ…Œ์ด๋„ˆ ํ•˜๋‚˜๋งŒ ์‹คํ–‰ํ•จ์œผ๋กœ HTML๋ถ€ํ„ฐ ์›น ์„œ๋ฒ„๊นŒ์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํƒ์ด ์‹คํ–‰๋œ๋‹ค.

 

<๋„์ปค ๊ตฌ์„ฑ ์ปดํฌ๋„ŒํŠธ>

 

๋„์ปค์—”์ง„(๋„์ปค ๋ฐ๋ชฌ): ๋„์ปค ๊ด€๋ฆฌ ์ปดํฌ๋„ŒํŠธ. ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ์™€ ํ•จ๊ป˜ ์ปจํ…Œ์ด๋„ˆ ๋“ฑ ๋„์ปค ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์ผ์„ ๋‹ด๋‹นํ•œ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค

๋„์ปคAPI: HTTP๊ธฐ๋ฐ˜ REST API๋กœ ์ด๋ฅผ ํ†ตํ•ด ๋„์ปค ์—”์ง„์ด ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋„์ปค ์ด๋ฏธ์ง€ ์บ์‹œ: ๋‹ค์šด๋ฐ›์•˜๋˜ ์ด๋ฏธ์ง€๋Š” ๋กœ์ปฌ์— ๋ณด๊ด€ํ•œ๋‹ค. ์ด๋ฏธ์ง€์˜ ํŠน์ • ๋ ˆ์ด์–ด๋งŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๋ฉด ๊ธฐ์กด ๋ ˆ์ด์–ด๋ฅผ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ ์†๋„๊ฐ€ ๋นจ๋ผ์ง„๋‹ค.