Dockerfile이란?
이미지를 생성하기 위한 스크립트. docker build 명령어를 통해 이미지를 생성할 수 있습니다.
Dockerfile 명령어
FROM | 기반이 될 이미지(ex. OS)를 지정 | FROM <이미지> |
MAINTAINER | 작성자의 정보를 기록 | MAINTAINER <작성자 <메일>> |
RUN | FROM의 기반 이미지 위에서 실행될 명령어 | RUN <명령어> |
COPY | 도커 컨테이너의 경로로 파일을 복사합니다 | COPY <복사 할 파일 경로> <컨테이너 경로> |
CMD | 컨테이너 시작 이후, 컨테이너에서 실행될 파일 | CMD <실행파일> <매개변수1> ... |
ENV | 도커의 환경변수를 설정 | ENV <환경변수 이름> <값> |
EXPOSE | 연결할 포트 번호를 명시 | EXPOSE <포트 번호1> ... |
Dockerfile 작성 예시
debian:buster를 기반 이미지로 하고 nginx를 설치하는 도커파일의 예시입니다.
여기서 apt-get 명령어에 -y 옵션을 주면, 사용자의 응답이 필요할 때 자동으로 yes라고 답할 수 있습니다.
FROM debian:buster
MAINTAINER sujlee <sujlee@student.42seoul.kr>
ENV HELLO "hello docker!"
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y nginx
RUN echo $HELLO
COPY srcs/test.sh /root/
CMD ["/bin/bash", "/root/test.sh"]
EXPOSE 80 443
환경변수 HELLO를 echo명령어로 출력하고 있으며, test 쉘 스크립트를 컨테이너의 /root경로로 복사한 뒤 실행시키고 있습니다.
Docker 빌드/실행 명령어
docker 빌드/실행
build | Dockerfile로 이미지를 생성 | docker build <Dockerfile 경로> -t <생성할 이미지 이름> |
run | 생성한 이미지를 기반으로 도커를 실행 | docker run <이미지 이름> |
docker run의 옵션
-i | 컨테이너와 상호 입출력 활성화 |
-t | tty 활성화. 주로 -i옵션과 함께 사용 |
-p | 포트를 지정 |
-e | 환경변수를 지정하거나 값을 변경 |
Dockerfile 사용 예시
docker build . -t myimage
docker run -it -p 80:80 -p 443:443 -e HELLO="hello world!" myimage
반응형
'42Seoul > 웹서버' 카테고리의 다른 글
CGI 스크립트의 환경변수 (0) | 2021.05.16 |
---|---|
HTTP 헤더에 따른 콘텐츠 협상 (Content negotiation) (0) | 2021.05.16 |
docker run시 컨테이너 내의 파일 수정하기(환경변수 + sed명령어) (0) | 2020.11.01 |
도커에서 nginx + php-fpm 설치하기 (0) | 2020.10.21 |