07D. RUN
07D. RUN ๊ด๋ จ
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
์ต์
์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.