
๋์ปค(Docker)๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ปจํ
์ด๋๋ผ๋ ๋จ์๋ก ํจํค์งํ๊ณ
๋ฐฐํฌ, ์คํํ ์ ์๋๋ก ํด์ฃผ๋ ์คํ์์ค ํ๋ซํผ์ด๋ค.
๊ทธ์ค์์๋ ๋์ปค ์ปจํ ์ด๋๋ ๊ฐ์ฅ ํต์ฌ์ ์ธ ๊ฐ๋ ์ผ๋ก,
์ค๋์ ์ปจํ ์ด๋๊ฐ ๋ฌด์์ธ์ง, ์ ์ฌ์ฉํ๋์ง, ์ด๋ป๊ฒ ๋์ํ๋์ง๋ฅผ ๊ฐ๋จํ ์ค๋ช ํ๋ค.
๋์ปค ์ปจํ
์ด๋๋ ์ด์์ฒด์ ์์ค์์ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ด๋ค.
๊ฐ์๋จธ์ (VM)๊ณผ ๋ฌ๋ฆฌ ์ ์ฒด OS๋ฅผ ํฌํจํ์ง ์๊ณ , ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๊ทธ ์์กด์ฑ๋ง์ ํฌํจํ๋ค.
| ํญ๋ชฉ | ์ปจํ ์ด๋ | ๊ฐ์๋จธ์ |
|---|---|---|
| ๊ฒฉ๋ฆฌ ์์ค | ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ | ํ๋์จ์ด ๊ฒฉ๋ฆฌ |
| ์คํ ์๋ | ๋น ๋ฆ | ๋๋ฆผ |
| ์ฉ๋ | ์์ (MB ๋จ์) | ํผ (GB ๋จ์) |
| ๋ถํ ์๊ฐ | ์ ์ด | ์ ๋ถ |
๋์ปค๋ ๋ฆฌ๋
์ค ์ปค๋์ namespace์ cgroups๋ฅผ ์ฌ์ฉํ์ฌ ์ด ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค.
# ์ด๋ฏธ์ง๋ก๋ถํฐ ์ปจํ
์ด๋ ์คํ
$ docker run -it ubuntu /bin/bash
# ์คํ ์ค์ธ ์ปจํ
์ด๋ ๋ชฉ๋ก ๋ณด๊ธฐ
$ docker ps
# ๋ชจ๋ ์ปจํ
์ด๋ ๋ณด๊ธฐ (์ค์ง๋ ๊ฒ๋ ํฌํจ)
$ docker ps -a
# ์ปจํ
์ด๋ ์ ์ง
$ docker stop <container_id>
# ์ปจํ
์ด๋ ์ญ์
$ docker rm <container_id>
Dockerfile ์์ฑ:FROM node:18
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]
$ docker build -t my-node-app .
$ docker run -p 3000:3000 my-node-app