Skip to main content

07D. RUN

Less than 1 minuteDevOpsDockercrashcoursepyrasis.comdockerdevops

07D. RUN ๊ด€๋ จ

๋ชฉ์ฐจ

์–ธ์ œ๋‚˜ ์ตœ์‹  Docker

7์žฅ - 4. RUN
์–ธ์ œ๋‚˜ ์ตœ์‹  Docker

RUN์€ FROM์—์„œ ์„ค์ •ํ•œ ์ด๋ฏธ์ง€ ์œ„์—์„œ ์Šคํฌ๋ฆฝํŠธ ํ˜น์€ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ RUN์œผ๋กœ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ƒˆ ์ด๋ฏธ์ง€๋กœ ์ƒ์„ฑ๋˜๊ณ , ์‹คํ–‰ ๋‚ด์—ญ์€ ์ด๋ฏธ์ง€์˜ ํžˆ์Šคํ† ๋ฆฌ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.


์…ธ(/bin/sh)๋กœ ๋ช…๋ น ์‹คํ–‰ํ•˜๊ธฐ

.Dockerfile

RUN apt install -y nginx
RUN echo "Hello Docker" > /tmp/hello
RUN curl -sSL https://go.dev/dl/go1.19.2.src.tar.gz | tar -v -C /usr/local -xz
RUN git clone https://github.com/docker/docker.git

RUN <๋ช…๋ น> ํ˜•์‹์ด๋ฉฐ ์…ธ ์Šคํฌ๋ฆฝํŠธ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FROM์œผ๋กœ ์„ค์ •ํ•œ ์ด๋ฏธ์ง€์— ํฌํ•จ๋œ /bin/sh ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉฐ /bin/sh ์‹คํ–‰ ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.


์…ธ ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๊ธฐ

.Dockerfile

RUN ["apt", "install", "-y", "nginx"]
RUN ["/user/local/bin/hello", "--help"]

RUN ["<์‹คํ–‰ ํŒŒ์ผ>", "<๋งค๊ฐœ ๋ณ€์ˆ˜1>", "<๋งค๊ฐœ ๋ณ€์ˆ˜2>"] ํ˜•์‹์ž…๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. FROM์œผ๋กœ ์„ค์ •ํ•œ ์ด๋ฏธ์ง€์˜ /bin/sh ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์…ธ ์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์ด ์ธ์‹๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์…ธ ์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ž๋ฅผ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ ํŒŒ์ผ์— ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RUN์œผ๋กœ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๋Š” ์บ์‹œ๋˜๋ฉฐ ๋‹ค์Œ ๋นŒ๋“œ ๋•Œ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ๋œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด docker build ๋ช…๋ น์—์„œ --no-cache ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ด์ฐฌํฌ (MarkiiimarK)
Never Stop Learning.