๐ณ
Dockerfile
FROM node:20.18
RUN npm install -g pnpm
WORKDIR /app
COPY package.json pnpm-lock.yaml* ./
RUN pnpm install
COPY . .
EXPOSE 3010
# ์๋ฒ ์คํ
CMD ["pnpm", "run", "start"]
์ด๊ฑด ๊ทธ๋๊ทธ๋ ์์์...
์ด ํ๋ก์ ํธ๋ pnpm ์ด์์
์ด๋ฏธ์ง = ๋ณํ์ง ์๋ ์ค์น ํ์ผ/๋์ฅ
์ปจํ
์ด๋ = ๊ทธ ๋์ฅ์ผ๋ก ์ฐ์ด๋ธ ์คํ๋ฌผ (์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ)
Docker Desktop์์ →
Images = ํ
ํ๋ฆฟ ์ฐฝ๊ณ
Containers/Apps = ์ค์ ๋๊ณ ์๋ ์๋ฒ ๋ชฉ๋ก
[ Image ] (์ฝ๊ธฐ ์ ์ฉ, ์คํ ํ
ํ๋ฆฟ)
โ
โ docker run
โผ
[ Container 1 ] (์คํ ์ธ์คํด์ค, ํ๋ก์ธ์ค)
โ
[ Container 2 ] (๋์ผ ์ด๋ฏธ์ง ๊ธฐ๋ฐ ๋ค๋ฅธ ์ธ์คํด์ค)
โ
[ Container 3 ] (ํ๊ฒฝ๋ณ์/ํฌํธ ๋ฌ๋ผ๋ ๋
๋ฆฝ ์คํ)
๐ Docker Desktop UI๋ก ๋งค์นญ
- Images ํญ
- ๋ค PC์ ์ ์ฅ๋ ์คํ ํ ํ๋ฆฟ ๋ชฉ๋ก
- ex) my-backend:latest, node:20
- Containers/Apps ํญ
- ์ค์ ์คํ๋ ์ธ์คํด์ค ๋ชฉ๋ก
- ex) backend-container (Running), backend-test (Exited)
์ด๋ฏธ์ง ๋์ฐ๊ธฐ
์๋ฅผ ๋ค์ด my-backend ์ด๋ฏธ์ง๊ฐ ์๊ณ , ์ฑ ํฌํธ๊ฐ 3010์ด๋ผ๋ฉด:
docker build -t my-backend .
docker run -d -p 3010:3010 --name backend-container my-backend
- -d → ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ(detached)
- -p 3010:3010 → ํธ์คํธ 3010 ↔ ์ปจํ ์ด๋ 3010 ํฌํธ ์ฐ๊ฒฐ
- --name backend-container → ์ปจํ ์ด๋์ ์ด๋ฆ ์ง์
- my-backend → ์คํํ ์ด๋ฏธ์ง ์ด๋ฆ
์ด๋ ๊ฒ ํ๋ฉด ์ด๋ฏธ์ง → ์ปจํ ์ด๋๊ฐ ์์ฑ๋๊ณ ์คํ๋จ.
์ด๊ฑฐ ์ซ์ผ๋ฉด ๊ทธ๋ฅ ๋์ปค ๋ฐ์คํฌํ ์ด๋ฏธ์ง action ๋๋ฅด๋ฉด ๋จ
์ญ์ ์
์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ๋ ค๋ฉด ์ด๋ฏธ์ง์ ๊ฑธ๋ฆฐ ์ปจํ ์ด๋ ๋ชจ๋ ์ญ์ ํ๊ณ ๊ฐ๋ฅํจ - ์ข ๋ฃ๋์ด๋ ๋๊ฐ์
๋ด๊ฐ ๋์ด ์ด๋ฏธ์ง ํ์ธ์ฉ docker images
์คํ๋๊ณ ์๋ ์ปจํ ์ด๋ ํ์ธ docker ps
์ข ๋ฃ๋ ์ปจํ ์ด๋ ํ์ธ docker ps -a
๋จ์ ์ปจํ ์ด๋๋ฅผ ๋๋ ค๋ฉด docker stop <์ปจํ ์ด๋>
์ปจํ ์ด๋๋ฅผ ์์ ํ ์ง์ฐ๋ ค๋ฉด docker rm <์ปจํ ์ด๋>
์ด๋ฏธ์ง๋ฅผ ์ง์ฐ๋ ค๋ฉด ์ปจํ ์ด๋ ๋ชจ๋ ์ ๋ฆฌ ํ docker rmi <์ด๋ฏธ์ง>
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| react SEO ๊ด๋ จ (2) | 2025.04.07 |
|---|---|
| useState (0) | 2025.01.06 |
| icon svg ์ปดํฌ๋ํธ ์คํ์ผ props ๋๊ธฐ๊ธฐ (0) | 2024.10.04 |
| react - Suspense ์ดํด ์ ๋ฆฌ (0) | 2024.08.19 |
| ํ์ ์คํฌ๋ฆฝํธ - infer (0) | 2024.08.18 |
๋๊ธ