2024/11 4

Docker ๊ธฐ๋ณธ ๊ฐœ๋…, compose, entrypoint

Docker๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋ผ๋Š” ๋‹จ์œ„๋กœ ํŒจํ‚ค์ง•ํ•˜์—ฌ ๋ฐฐํฌํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒํ•˜๋Š” ํ”Œ๋žซํผ. ์•ฑ๊ณผ ํ™˜๊ฒฝ์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ๋ฐฐํฌํ•˜๊ธฐ์— ์–ด๋””์„œ๋‚˜ ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ. ๋˜ํ•œ ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์œผ๋กœ์„œ, ์ปดํ“จํ„ฐ์˜ ์„ฑ๋Šฅ์„ ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ. 1. ์ฃผ์š” ๊ฐœ๋…๋„์ปค์˜ ์ฃผ์š” ๊ฐœ๋…์—๋Š” ์ปจํ…Œ์ด๋„ˆ, ์ด๋ฏธ์ง€, ๋„์ปคํŒŒ์ผ, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ์žˆ์Œ. 1. ์ปจํ…Œ์ด๋„ˆ๊ฒฝ๋Ÿ‰ํ™”๋œ ๊ฐ€์ƒ๋จธ์‹ ๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ™˜๊ฒฝ์„ ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€๋กœ ๋ฌถ์–ด ๋…๋ฆฝ์ ์œผ๋กœ ์‹œํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜๋Š” ๊ฐ€์ƒํ™”๋Š” Host OS ๊ทธ๋ฆฌ๊ณ  Docker ์—”์ง„์œ„์—์„œ ๋ฐ”๋กœ ๋™์ž‘ํ•˜๋ฉฐ Host์˜ ์ปค๋„์„ ๊ณต์œ ํ•œ๋‹ค.์ด๋ ‡๊ฒŒ ์ปค๋„์„ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋ฉด io์ฒ˜๋ฆฌ๊ฐ€ ์‰ฝ๊ฒŒ ๋˜์–ด ์„ฑ๋Šฅ์˜ ํšจ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. 2. ์ด๋ฏธ์ง€์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํŒŒ์ผ๊ณผ ์„ค์ •์„ ํฌํ•จํ•œ ๊ฒƒ...

๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„œ๋น™ ์†๋„ ๊ฐœ์„  ๋ฐฉ์•ˆ

ํ˜„์žฌ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ์„œ๋น„์Šค์˜ ๋ชฉ์ ์€ ๋ณด์œ  ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ €์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.๊ฐœ๋ฐœ ์ดˆ๊ธฐ์—๋Š” ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ํด์ง€ ๋ชจ๋ฅด๊ณ , ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด๊ณ ์ž ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋ก ํŠธ๋‹จ์— ๋ชจ๋‘ ๋‘๊ณ  ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋‹ค. (์ฒ˜์Œ์—๋Š” 100๋ฉ”๊ฐ€ ์ •๋„์˜€๋‹ค...)์–ด๋Š์ •๋„ ๋งŒ๋“  ํ›„, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ์‹œ๊ณ  ๋””๋ฒจ๋กญํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ, ๋ฐ›์•„๋ณด๋‹ˆ ๊ฑฐ์˜ 2.8๊ธฐ๊ฐ€์˜€๋‹ค๋Š”...ใ…Žใ…Žใ…Žใ…Žใ…Ž๋‹น์—ฐํžˆ ์†๋„๋Š” ๋Š๋ฆด ์ˆ˜๋ฐ–์— ์—†๋Š” ์—„์ฒญ๋‚œ ๋ฐ์ดํ„ฐ์˜€๋‹ค..^^;; geoJSON์€ ๊ฒ๋‚˜,,, ๊ฒ๋‚˜ ์ปค,,,,,,,,,, ์ด๋Ÿฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด ๋ณธ ์ ์ด ์—†์œผ๋‹ˆ ์ข€ ๋‹นํ™ฉ์Šค๋Ÿฌ์›Œ์„œ ์ƒˆ๋กœ์šด ๋ฐฉ์•ˆ์„ ๊ณ ๋ฏผํ•ด๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.  1. ๋ฐฑ์•ค๋“œ ๋„์ž… ๋‹น์—ฐํžˆ ๊ฐ€์žฅ ์ฒ˜์Œ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ์€ ๋ฐฑ์•ค๋“œ ๋„์ž…์ด์—ˆ๋‹ค. ์ด๋ฏธ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ node.js๋กœ ๋งŒ๋“ค์—ˆ์œผ๋‹ˆ, ๋ฐฑ์•ค๋“œ๋„ node.js๋กœ ๋งŒ๋“ค๋ฉด ์–ผ๋งˆ ์•ˆ๊ฑธ๋ฆด ๊ฒƒ์ด๋ผ๋Š” ..

๋ฒกํ„ฐ ํƒ€์ผ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ญ˜๊นŒ??

์šฐ๋ฆฌ ์›น์‚ฌ์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ง€๋ฆฌ ์ •๋ณด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” geoJSONํ˜•์‹์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค. ์•„์ง์€ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—ฌ์„œ ์ „์ฒด ๋ฐ์ดํ„ฐ ์ค‘ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋งŒ์„ ๋ณด์—ฌ์ฃผ๋ ค๊ณ  ํ•˜์ง€๋งŒ, ์•ž์œผ๋กœ ์ถ”๊ฐ€ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒ๋‚˜ ๋งŽ์•„์„œ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ผ๋‹จ์€ ๋ฐฑ์—”๋“œ๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ํ”„๋ก ํŠธ๋‹จ์—์„œ ๋‹ค ๋๋‚ด๋Š” ๊ฒƒ์ด ๋‚ซ๊ฒ ๋‹ค๋Š” ํŒ๋‹จ. ๋‚˜์ค‘์— ์—ฐ๋„๋ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฐฑ์—”๋“œ๋ฅผ ๋„์ž…ํ•˜์—ฌ ์—ฐ๋„๋ณ„ ํ•„ํ„ฐ๋ง์„ ํ•ด์•ผ๊ฒ ์ง€... ๊ตฌํ˜„ํ•  ์ƒ๊ฐ์— ๋‘๊ทผ~^^ ๊ทธ๋ ‡๊ฒŒ ์ฐพ์•„๋ณด๋˜ ์ค‘ ํšจ์œจ์ ์œผ๋กœ ์ง€๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋น™ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ๋ฒกํ„ฐ ํƒ€์ผ ํ˜•์‹์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฌด์—‡์ผ๊นŒ~์•Œ์•„์•ผ ์“ฐ์ง€. ๊ทธ๋ž˜์„œ ๊ฐœ๋… ์ •๋ฆฌ๋ฅผ ์ข€ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ผ๋‹จ ์ •์˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ฒกํ„ฐ ํƒ€์ผ์€ ์ง€๋ฆฌ์ •๋ณด ์‹œ์Šคํ…œ(GIS)์—์„œ ์ง€๋„ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์ „๋‹ฌํ•˜๋Š” ํ˜•์‹...

๋„์ปค์™€์˜ ๋‘๊ทผ๋‘๊ทผ ์ฒซ๋งŒ๋‚จ >.<

๋„์ปค ์ƒˆ๋กœ ์จ๋ณด๋ฉด์„œ ์‚ฝ์งˆ ๊ธฐ๋ก. ์‚ฝ์งˆ์„ ๊ธฐ๋กํ•˜์ง€ ์•Š์œผ๋ฉด ์‹œ๊ฐ„๋งŒ ๋‚ ๋ฆฐ ๊ฒƒ ๊ฐ™๊ณ  ๊ทธ๋ž˜ ์‘.... ์ด๋ฒˆ์— ์ž…์‚ฌํ•œ ํšŒ์‚ฌ์—์„œ ์ง€๋„ ์›น์•ฑ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค. ๋งŒ๋“ค์—ˆ๋”๋‹ˆ ์ด์ œ ๋„์ปค๋กœ ์˜ฌ๋ ค๋ณด๋ผ๋Š” NEW mission์„ ๋ฐ›์•˜๋‹ค!๋„์ปค... ์•ˆ์จ๋ด์„œ ์กฐ๊ธˆ ๊ฑฑ์ •ํ–ˆ์ง€๋งŒ ์ด๊ฒƒ ์ €๊ฒƒ ๋”ฐ๋ผํ•˜๋‹ˆ 2์‹œ๊ฐ„๋งŒ์— ์–ด๋Š ์ •๋„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค. ๋ฟŒ-๋“ฏ.๊ทผ๋ฐ COPY๋ฅผ ์จ์„œ ์•ฑ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•  ์‹œ์—๋Š” ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ์ด๋ฏธ์ง€ ๋นŒ๋“œ๋ฅผ ํ•ด์ค˜์•ผ ํ–ˆ๋‹ค.์•„์ง ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋‹ˆ๊นŒ ๊ณ„์† ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†์–ด ์งˆ๋ฌธ!-> ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— Volume ์œผ๋กœ local์—์„œ ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ๋งˆ์šดํŠธํ•˜๋ฉด ๋ฐ”๋กœ ์ ์šฉ๋œ๋‹ค!docker run \ -d \ -p 5001:5001 \ --name my-map-container \ -v ${pwd}:/usr/src/ap..