Dockerfile
์ด๋?๋ช ๋ น | ์ค๋ช |
---|---|
FROM | ๋ฒ ์ด์ค ์ด๋ฏธ์ง ์ง์ ๋ช ๋ น (์: FROM httpd:alpine) |
LABEL | ๋ฒ์ ์ ๋ณด, ์์ฑ์์ ๊ฐ์ ์ด๋ฏธ์ง ์ค๋ช ์ ์์ฑํ๊ธฐ ์ํ ๋ช ๋ น (์: LABEL version="1.0.0") |
CMD | docker ์ปจํ
์ด๋๊ฐ ์์ํ ๋, ์คํํ๋ ์ ๋ช
๋ น์ ์ง์ ํ๋ ๋ช
๋ น. RUN๊ณผ ๋น์ทํ์ง๋ง, RUN์ ์ด๋ฏธ์ง ์์ฑ์ ์คํํ๋ ๋ช ๋ น์ด๊ณ , CMD๋ ์ปจํ ์ด๋๋ฅผ ์์ํ ๋ ์คํํ๋ ๋ช ๋ น ์ง์ ๋ช ๋ น. Dockerfile์ CMD๋ ํ ๋ฒ๋ง ์์ฑ! (์: CMD [ "yarn", "start" ]) |
RUN์ | ์ ๋ช ๋ น์ ์คํํ๋ ๋ช ๋ น (์: RUN [ "apt-get", "install", "nginx" ]) |
ENTRYPOINT | docker ์ปจ๋ฐ์ดํฐ๊ฐ ์์ํ ๋, ์คํํ๋ ์ ๋ช
๋ น์ ์ง์ ํ๋ ๋ช
๋ น. CMD๋ช ๋ น์ ๋ฎ์ด์์์ง์ง ์๊ณ , **๋ฐ๋์ ์คํํด์ผ ํ๋ ๋ช ๋ น์ ๊ธฐ์ ํ ๋ ์ฌ์ฉ |
EXPOSE | docker ์ปจ๋ฐ์ดํฐ ์ธ๋ถ์ ์คํํ ํฌํธ ์ค์ (์: EXPOSE 8080) |
ENV | docker ์ปจ๋ฐ์ดํฐ ๋ด๋ถ์์ ์ฌ์ฉํ ํ๊ฒฝ ๋ณ์ ์ง์ (์: ENV PATH /usr/bin:$PATH) |
WORKDIR | docker ์ปจ๋ฐ์ดํฐ์์์ ์์ ๋๋ ํ ๋ฆฌ ์ค์ (์: WORKDIR /app) |
COPY | ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ๋ฅผ docker ์ปจ๋ฐ์ดํฐ์ ๋ณต์ฌ. ADD์ ๋ฌ๋ฆฌ URL์ ์ง์ ํ ์ ์์ผ๋ฉฐ, ์์ถํ์ผ์ ์๋์ผ๋ก ํ์ด์ฃผ์ง ์์ (์: COPY test.sh /root/test.sh) |
๋ช ๋ น | ์ค๋ช |
---|---|
ADD | COPY์ ์ ์ฌํ์ง๋ง, COPY ๋ช ๋ น์ด ๋ณด๋ค ๋ช ์์ ์ด๋ฏ๋ก, COPY์ ์ฌ์ฉ.. (์: ADD test.sh /root/test.sh) |
SHELL | ์ ํ๋ก๊ทธ๋จ ์ง์ ๋ช ๋ น์ด์ง๋ง, CMD๋ฑ์ผ๋ก ๋์ฒด ๊ฐ๋ฅํ๋ฏ๋ก ์ฐธ๊ณ ๋ก๋ง ์์๋๊ธฐ.. (์: SHELL ['bin/bash','-c']) |
ARG | dockerfile ๋ด์์ ํ์ํ ๋ณ์ ์ค์ . (์: ARG env=dev) |
USER | docker ์ด๋ฏธ์ง ๋ฐ ์ปจํ ์ด๋์์ ์์ ์ ํ๋ ์ฌ์ฉ์ ID๋ฅผ ์ง์ ํจ (์: USER april) |
ONBUILD | ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ์๋ก์ด ์ด๋ฏธ์ง ์์ฑ์ ์คํํ๋ ๋ช ๋ น์ด๋ฅผ ์ง์ (์: ONBUILD ADD myweb.tar/var/www/html) |
// ํ ํด๋๋ก ์ด๋
cd ~
// Dockerfile ์์ฑํ๊ธฐ. ์๋ํฐ ์ด๊ธฐ
vi Dockerfile
// . ํ์ฌ ํด๋๋ฅผ ์๋ฏธ
// --tag ์ต์
์ ์ด๋ฆ์ ์ง์
docker build --tag myimage .
// ํ๊ทธ ์ง์ ํด์ ์์ฑํด๋ณด๊ธฐ
docker build --tag myimage:1.1 .
// docker ํฌํธ ์ง์ ํด์ ์คํ
docker run -d -p 9999:80 --name httpdweb myweb
// log ํ์ธํด๋ณด๊ธฐ
docker logs httpdweb
// ์ปจํ
์ด๋ ์ฆ์ ์ค์ง
docker kill ์ปจํ
์ด๋ID ๋๋ ์ด๋ฆ
docker inspect
๋ด๋ถ ํ์ธํ๊ธฐ// ์ปจํ
์ด๋ ๋๋ ์ด๋ฏธ์ง ๋ด๋ถ ํ์ธํ๊ธฐ
docker inspect apacheweb
httpd:alpine์ ๋ฒ ์ด์ค๋ก ํด์,
// Dockerfile๋ก image ์์ฑ
docker build --tag myweb .
// docker ํฌํธ ์ง์ ํด์ ์คํ
docker run -d -p 9999:80 --name httpdweb myweb
// log ํ์ธํด๋ณด๊ธฐ
docker logs httpdweb
// ์ปจํ
์ด๋ ์ฆ์ ์ค์ง
docker kill ์ปจํ
์ด๋ID ๋๋ ์ด๋ฆ