๐Ÿ›ณ DevOps/Docker

๋‹จ๊ณ„๋ณ„๋กœ ์„ฑ์žฅํ•˜์ž!
Docker Compose๊ฐ€ ๋ญ˜๊นŒ? ๊ฐ๊ฐ ํ•˜๋‚˜์”ฉ ๊ด€๋ฆฌํ•˜๋˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜๋กœ ๋ชจ์•„์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํˆด (ํ˜„์žฌ ๋‚ด๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์—์„œ Spring ๋ฐฑ์—”๋“œ ์„œ๋ฒ„, React ํ”„๋ก ํŠธ ์„œ๋ฒ„, MariaDB, Redis์˜ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ชจ์•„์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.) ์–ด๋–ค ํ˜•์‹์ธ์ง€ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ค˜ docker-compose.yml ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ํ•œ๋ฒˆ์— ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. yml ํ˜•์‹์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ๋งŒ ๋งํ•˜์ž๋ฉด key-value ํ˜•์‹์ด๋ฉฐ int, boolean, String ํƒ€์ž…์„ ์ง€์›ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ์•ž์—๋Š” ๋“ค์—ฌ์“ฐ๊ธฐ๋“ค์—ฌ ์“ฐ๊ธฐ ํ›„ - ๋ฅผ ๋ถ™์ด๊ณ , ๋ฆฌ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ๋Š” ๋“ค์—ฌ ์“ฐ๊ธฐ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ด์™ธ์— |, |-, ---, > ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š”๋ฐ ๋‚˜์ค‘์— ๋”ฐ๋กœ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž! versio..
Dockerfile์ด๋ž€? ๋„์ปค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ํ˜•์‹์˜ ํŒŒ์ผ์ด๋‹ค. ์ฃผ์š” ๋ช…๋ น์–ด Command Description FROM Base ์ด๋ฏธ์ง€๋ฅผ ์ง€์ • (ex: Node ๋‚˜ JDK ์ง€์ •) LABEL Version, Writer์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑ CMD ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์‹คํ–‰๋˜๋Š” shell ๋ช…๋ น์„ ์„ค์ • RUN ์ด๋ฏธ์ง€ ์ž‘์„ฑ์‹œ ์‹คํ–‰๋˜๋Š” shell ๋ช…๋ น ์„ค์ • ๋ฐ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€ layer๋ฅผ ๋งŒ๋“œ๋Š” ์—ญํ•  ENTRYPOINT ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์‹คํ–‰๋˜๋Š” shell ๋ช…๋ น์„ ์„ค์ • CMD์™€๋Š” ๋‹ค๋ฅด๊ฒŒ docker run์—์„œ ๋ถ€์—ฌ๋˜๋Š” ๋ช…๋ น์— overrride๊ฐ€ ๋˜์ง€ ์•Š๊ณ  ์‹คํ–‰๋จ EXPOSE ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์™ธ๋ถ€์— ์˜คํ”ˆํ•  Port ์„ค์ • ENV ๋„์ปค ์ปจํ…Œ..
1. docker run ๋ช…๋ น pull, create, start๋ช…๋ น์„ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋ฉฐ ํƒ€๊ฒŸ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ปค์Šคํ…€ ์„ค์ •์— ๋”ฐ๋ผ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด 2. ์˜ต์…˜ Option Description -i ์ปจํ…Œ์ด๋„ˆ์—์„œ ์™ธ๋ถ€๋กœ ํ‘œ์ค€ ์ž…๋ ฅ( ex: STDIN )์„ open. ๋‚ด๋ถ€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž…๋ ฅ์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด -t ๊ฐ€์ƒ ํ„ฐ๋ฏธ๋„(tty)์„ ํ• ๋‹น -d ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ --name ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์„ค์ • =rm ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œ -p Host์™€ ์ปจํ…Œ์ด๋„ˆ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐ -v Host์™€ ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐ 3. -it ์ž์ฃผ ๊ฐ™์ด ์“ฐ๋Š” ์˜ต์…˜ -i ์˜ต์…˜์œผ๋กœ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— ์™ธ๋ถ€๋กœ์˜ ํ‘œ์ค€ ์ž…๋ ฅ์„ openํ•˜๊ณ  -t ์˜ต์…˜์œผ๋กœ ๊ฐ€์ƒ(psedo) tty๋ฅผ ๋งŒ๋“ค์–ด ํ‘œ์ค€ ์ž…๋ ฅ์„..
DevPoong
'๐Ÿ›ณ DevOps/Docker' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก