[๐Ÿณ Docker ๐Ÿณ] ๋„์ปค ์ด๋ฏธ์ง€ ๋นŒ๋“œ

Yohan_05ยท2023๋…„ 2์›” 1์ผ
0

Docker

๋ชฉ๋ก ๋ณด๊ธฐ
8/11
post-custom-banner

๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ ˆ์ด์–ด ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์Œ.
$ docker image inspect [REPOSITORY] ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ด๋ฏธ์ง€์˜ ์ •๋ณด๋ฅผ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

DockerFile ์—†์ด ์ด๋ฏธ์ง€ ์ƒ์„ฑ

# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# ubuntu ์ปจํ…Œ์ด๋„ˆ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ my_ubuntu:v1 ์ด๋ฏธ์ง€๋กœ ์ƒ์„ฑ

$ docker commit -a example -m "first Commit" ubuntu my_ubuntu:v1

# -a๋Š” Assert, ๋ณ€๊ฒฝ์ ์˜ History๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
# -m์€ Message

Dockerfile ์ด์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์ƒ์„ฑ

Dockerfile ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# dockerfile ๋ฌธ๋ฒ•์œผ๋กœ ๊ตฌ์„ฑ
# ์ง€์‹œ์–ด [์ง€์‹œ์–ด์— ๋Œ€ํ•œ Arguments]

FROM node:12-alpine
RUN apk add --nocache python3 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
# docker build [options] path
# ./ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ๋กœ my_app:v1 ์ด๋ฏธ์ง€ ๋นŒ๋“œ (Dockerfile ์ด์šฉ)
$ docker build -t my_app:v1 ./

# ./ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ๋กœ my_app:v1 ์ด๋ฏธ์ง€ ๋นŒ๋“œ (example/MyDockerfile ์ด์šฉ)
$ docker build -t my_app:v1 -f example/MyDockerFile ./

-t : ํƒœ๊ทธ์˜ ์•ฝ์ž. ๋นŒ๋“œ ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์คŒ.
-f : ๋„์ปคํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์คŒ. (์›ํ•˜๋Š” ๋„์ปคํŒŒ์ผ์„ ์ด์šฉํ•˜๊ณ  ์‹ถ์„๋•Œ)

๋นŒ๋“œ ์ปจํ…์ŠคํŠธ

  • ๋„์ปค ๋นŒ๋“œ ๋ช…๋ น ์ˆ˜ํ–‰ ์‹œ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ๋ผ๊ณ ํ•จ.
  • DockerFile๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€ ๋นŒ๋“œ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋„์ปค ๋ฐ๋ชฌ์—๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ .

.dockerignore

  • .gitignore๊ณผ ๋™์ผํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ ์žˆ์Œ.
  • ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ํ˜น์€ ํŒŒ์ผ ๋ชฉ๋ก์„ ๋นŒ๋“œ ์ปจํ…์ŠคํŠธ์—์„œ ์ œ์™ธํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ .
* /temp*
* /*/temp*
temp?

*.md
!README.md
profile
์•ˆ๋…•ํ•˜์„ธ์š” DevOps ์—”์ง€๋‹ˆ์–ด๋กœ ํ˜„์—…์—์„œ ํ™œ๋™์ค‘์ธ ์š”ํ•œ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€