๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

docker8

[Docker] Docker Compose ์™„์ „ ์ •๋ณต: ๊ฐœ๋…๋ถ€ํ„ฐ ์‹ค์Šต, CLI ๋ช…๋ น์–ด๊นŒ์ง€ ์ •๋ฆฌ Docker Compose๋ž€?!์—ฌ๋Ÿฌ ๊ฐœ์˜ Docker ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ์ •์˜๋ผ๊ณ  ๊ตฌ์„ฑํ•ด ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํˆด์ด๋‹ค! Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์šฉ์ดํ•˜๋‹ค.์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์˜ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค.๋ณต์žกํ•œ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰์‹œํ‚ค๋˜ ๊ฑธ ๊ฐ„์†Œํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ๋•Œ๋งˆ๋‹ค ๋ณต์žกํ•œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋‹จ์ˆœํžˆ docker compose up ๋ช…๋ น์–ด๋งŒ ์‹คํ–‰์‹œํ‚ค๋ฉด ๋œ๋‹ค. Docker Compose ์ „์ฒด ํ๋ฆ„ ๋А๊ปด๋ณด๊ธฐ1. compose.yml ํŒŒ์ผ ์ž‘์„ฑํ•˜๊ธฐservices: m.. 2025. 5. 16.
[Docker] ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” Dockerfile: FROM๋ถ€ํ„ฐ EXPOSE๊นŒ์ง€ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ธฐ Dockerfile์ด๋ž€?!Docker ์ด๋ฏธ์ง€๋“ค์„ ๋ˆ„๊ตฐ๊ฐ€ ๋งŒ๋“ค์–ด์„œ Dockerhub์— ์˜ฌ๋ ค๋†“๊ณ , ๊ทธ๊ฑธ ๋‹ค์šด๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด Docker ์ด๋ฏธ์ง€๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”๊ฑธ๊นŒ?Dockerfile์ด๋ผ๋Š” ๊ฒƒ์„ ํ™œ์šฉํ•ด์„œ Docker ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.์ •๋ฆฌํ•˜์ž๋ฉด, Dockerfile์ด๋ž€ Docker ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ฒŒ ํ•ด์ฃผ๋Š” ํŒŒ์ผ์ด๋‹ค. FROM : ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€ ์ƒ์„ฑFROM์€ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํŠน์ • ์ดˆ๊ธฐ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”๊ฐ€์ ์ธ ์„ธํŒ…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” 'ํŠน์ • ์ดˆ๊ธฐ ์ด๋ฏธ์ง€'๊ฐ€ ๊ณง ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์ด๋‹ค.์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒˆ๋กœ ๋„์›Œ์„œ ๋ฏธ๋‹ˆ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ค ๊ฒŒ ๊น”๋ ค์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋Š”์ง€ ์„ ํƒํ•˜๋Š” ์˜ต์…˜์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.# ๋ฌธ๋ฒ•FROM [์ด๋ฏธ์ง€๋ช…].. 2025. 5. 14.
[Docker] Docker๋กœ MySQL ์‹คํ–‰ํ•ด๋ณด์ž! (๋ณผ๋ฅจ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋‚ ์•„๊ฐ€๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ๊นŒ์ง€) Docker๋กœ MySQL ์‹คํ–‰์‹œ์ผœ๋ณด๊ธฐ MySQL ์ด๋ฏธ์ง€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰$ docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -d mysql๐Ÿ‘‰ -e MYSQL_ROOT_PASSWORD=password123 : -e ์˜ต์…˜์€ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ์˜ต์…˜์ด๋‹ค.๐Ÿ‘‰ Dockerhub์˜ MySQL ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ MYSQL_ROOT_PASSWORD๋ฅผ ์ •ํ•ด์ฃผ์–ด์•ผ๋งŒ ์ •์ƒ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋œ๋‹ค๊ณ  ์ ํ˜€์žˆ๋‹ค.$ docker exec -it [MySQL ์ปจํ…Œ์ด๋„ˆ ID] bash$ echo $MYSQL_ROOT_PASSWORD # MYSQL_ROOT_PASSWORD๋ผ๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ฐ’ ์ถœ๋ ฅ$ export # ์„ค์ •๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ํ™˜๊ฒฝ๋ณ€์ˆ˜ .. 2025. 5. 14.
[Docker] ์ปจํ…Œ์ด๋„ˆ ๋ฐ”๊ฟ€ ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค๊ณ ? Docker Volume์œผ๋กœ ๋ง‰๋Š” ๋ฐฉ๋ฒ•! ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ฐ€์ง„ ๋ฌธ์ œ์ Docker๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋„์šธ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œ์ผœ์•ผ ํ•œ๋‹ค.์ด๋•Œ, Docker๋Š” ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ , ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ†ต์งธ๋กœ ๊ฐˆ์•„ ๋ผ์šฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ต์ฒด๋ฅผ ํ•œ๋‹ค.์ด๋Ÿฐ ํŠน์ง• ๋•Œ๋ฌธ์— ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ต์ฒดํ•˜๋ฉด, ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋„ ๊ฐ™์ด ์‚ญ์ œ๋œ๋‹ค.๋”ฐ๋ผ์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ์— ๋ณผ๋ฅจ(Volume)์ด๋ผ๋Š” ๊ฐœ๋…์„ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค. Docker Volume์ด๋ž€?!๋„์ปค์˜ ๋ณผ๋ฅจ์ด๋ž€ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜์†์ ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.๋ณผ๋ฅจ์€ ์ปจํ…Œ์ด๋„ˆ ์ž์ฒด์˜ ์ €์žฅ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ํ˜ธ์ŠคํŠธ ์ž์ฒด์˜ ์ €์žฅ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•ด์„œ .. 2025. 5. 14.
[TIL] Docker ๊ณต๋ถ€ 2์ผ์ฐจ! ๐ŸŒž ์˜ค๋Š˜์€ ์–ด๋–ค ํ•˜๋ฃจ์˜€์ง€..์˜ค์ „์—๋Š” ๋ฌผ๋ฆฌ์น˜๋ฃŒ ๋ฐ›๊ณ  ๋Œ์•„์™€์„œ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•  ๋•Œ ์ž‘์„ฑํ–ˆ๋˜ ๋ฌธ์„œํ™” ๋‚ด์šฉ์„ ๋ธ”๋กœ๊ทธ์— ์˜ฎ๊ฒผ๋‹ค.ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•  ๋•Œ ์ž์„ธํ•˜๊ฒŒ ๊ธฐ๋กํ•ด ๋†”์„œ ์˜ฎ๊ธฐ๋Š” ๋ฐ ํฌ๊ฒŒ ์–ด๋ ค์›€์ด ์—†์—ˆ๋‹ค.์˜คํ›„์—๋Š” ๊ณ„์† Docker ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค.์˜ค๋Š˜์€ ๋Œ€๋ถ€๋ถ„ ๊ธฐ๋ณธ์ ์ธ Docker ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ ๋ช…๋ น์–ด๋„ ์žˆ์—ˆ๊ณ , ๋ชจ๋ฅด๋Š” ๋ช…๋ น์–ด๋„ ์žˆ์—ˆ์ง€๋งŒ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ท€์— ์ž˜ ๋“ค์–ด์˜ค๋Š” ์‰ฌ์šด ์„ค๋ช… ๋•๋ถ„์— ์ดํ•ด๊ฐ€ ๊ธˆ๋ฐฉ๊ธˆ๋ฐฉ ๋˜๊ณ  ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.๊ฐ•์˜๋ฅผ ๋‹ค ๋“ฃ๊ณ  ๋‚˜์„œ ๋ฐฐ์šด ๋ช…๋ น์–ด๋ฅผ ๋ธ”๋กœ๊ทธ์— ์ž˜ ์ •๋ฆฌํ•ด ๋‘์—ˆ๊ณ , ์ƒ๊ฐ๋‚˜์ง€ ์•Š์„ ๋•Œ๋งˆ๋‹ค ์ฐพ์•„๋ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.๋‚ด์ผ ํ•˜๋ฃจ๋„ ํŒŒ์ดํŒ…ํ•ด์„œ ๊ณต๋ถ€ ์—ด์‹ฌํžˆ ํ•˜๊ณ  ๋งŽ์ด ์–ป์–ด ๊ฐ€๋Š” ํ•˜๋ฃจ๋กœ ๋ณด๋‚ด์ž! ๐Ÿ’ก ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๋‚ด์šฉ์€ ๋ญ๊ฐ€ ์žˆ๋”๋ผ..?!๊ฐ•์˜ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋ธ”๋กœ๊ทธ ์ฃผ์†Œ ๋‚จ๊ฒจ๋†”์•ผ์ง€!h.. 2025. 5. 13.
[Docker] Docker ๋ช…๋ น์–ด ์ด์ •๋ฆฌ: ์ด๋ฏธ์ง€, ์ปจํ…Œ์ด๋„ˆ ๋‹ค์šด๋กœ๋“œ๋ถ€ํ„ฐ ์‚ญ์ œ๊นŒ์ง€ ์ด๋ฏธ์ง€(Image) ๋‹ค์šด๋กœ๋“œ[์ตœ์‹  ๋ฒ„์ „(latest) ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ]# docker pull ์ด๋ฏธ์ง€๋ช…$ docker pull nginx # docker pull nginx:latest์™€ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ Dockerhub์ด๋ผ๋Š” ๊ณณ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›๋Š”๋‹ค.Dockerhub๋„ ์‚ฌ๋žŒ๋“ค์ด ์˜ฌ๋ ค๋†“์€ ์ด๋ฏธ์ง€๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ์–ด์„œ pull๋กœ ๋‹ค์šด๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.Dockerhub์€ Github์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅ ๋ฐ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ €์žฅ์†Œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.[ํŠน์ • ๋ฒ„์ „ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ]# docker pull ์ด๋ฏธ์ง€๋ช…:ํƒœ๊ทธ๋ช…$ docker pull nginx:stable-perl๐Ÿ‘‰ ํŠน์ • ๋ฒ„์ „์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ด๋ฆ„์„ ํƒœ๊ทธ๋ช…์ด๋ผ๊ณ  ํ•œ๋‹ค. ํƒœ๊ทธ๋ช…์€ dockerhub์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฏธ์ง€(Ima.. 2025. 5. 13.