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. ์ด์ 1 2 ๋ค์