04B. Dockerfile ์์ฑํ๊ธฐ
Less than 1 minute
04B. Dockerfile ์์ฑํ๊ธฐ ๊ด๋ จ
๋ชฉ์ฐจ
์ธ์ ๋ ์ต์ Docker
.Dockerfile
์ Docker ์ด๋ฏธ์ง ์ค์ ํ์ผ์
๋๋ค. Dockerfile
์ ์ค์ ๋ ๋ด์ฉ๋๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค.
๋จผ์ example
๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ ๋ค example
๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
mkdir example
cd example
๋ค์ ๋ด์ฉ์ Dockerfile๋ก ์ ์ฅํฉ๋๋ค.
example/
Dockerfile
FROM ubuntu:22.04
MAINTAINER Foo Bar <foo@bar.com>
RUN apt update
RUN apt install -y nginx
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
RUN chown -R www-data:www-data /var/lib/nginx
VOLUME ["/data", "/etc/nginx/site-enabled", "/var/log/nginx"]
WORKDIR /etc/nginx
CMD ["nginx"]
EXPOSE 80
EXPOSE 443
์ฐ๋ถํฌ 22.04๋ฅผ ๊ธฐ๋ฐ์ผ๋ก nginx
์๋ฒ๋ฅผ ์ค์นํ Docker ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ์์ ์
๋๋ค.
FROM
: ์ด๋ค ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ง ์ค์ ํฉ๋๋ค. Docker ์ด๋ฏธ์ง๋ ๊ธฐ์กด์ ๋ง๋ค์ด์ง ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํฉ๋๋ค.<์ด๋ฏธ์ง ์ด๋ฆ>:<ํ๊ทธ>
ํ์์ผ๋ก ์ค์ ํฉ๋๋ค.MAINTAINER
: ๋ฉ์ธํ ์ด๋ ์ ๋ณด์ ๋๋ค.RUN
: ์ ธ ์คํฌ๋ฆฝํธ ํน์ ๋ช ๋ น์ ์คํํฉ๋๋ค.- ์ด๋ฏธ์ง ์์ฑ ์ค์๋ ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก apt install ๋ช
๋ น์์
-y
์ต์ ์ ์ฌ์ฉํฉ๋๋ค(yum install
๋ ๋์ผ). - ๋๋จธ์ง๋ nginx ์ค์ ์ ๋๋ค.
VOLUME
: ํธ์คํธ์ ๊ณต์ ํ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก์ ๋๋ค.docker run
๋ช ๋ น์์-v
์ต์ ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์)-v /root/data:/data
๋ ํธ์คํธ์/root/data
๋๋ ํฐ๋ฆฌ๋ฅผ Docker ์ปจํ ์ด๋์/data
๋๋ ํฐ๋ฆฌ์ ์ฐ๊ฒฐํฉ๋๋ค.
- ์ด๋ฏธ์ง ์์ฑ ์ค์๋ ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก apt install ๋ช
๋ น์์
CMD
: ์ปจํ ์ด๋๊ฐ ์์๋์์ ๋ ์คํํ ์คํ ํ์ผ ๋๋ ์ ธ ์คํฌ๋ฆฝํธ์ ๋๋ค.WORKDIR
:CMD
์์ ์ค์ ํ ์คํ ํ์ผ์ด ์คํ๋ ๋๋ ํฐ๋ฆฌ์ ๋๋ค.EXPOSE
: ํธ์คํธ์ ์ฐ๊ฒฐํ ํฌํธ ๋ฒํธ์ ๋๋ค.