RUN
Dockerfile에서 리눅스의 명령어를 실행하고 싶을 때 사용한다.
실습1. Dockerfile 작성
1 FROM ubuntu
2
3 RUN apt-get update
4 RUN apt-get install -y nginx
5
6 WORKDIR /var/www/html
7
8 COPY ./webapp/index.html ./index.nginx-debian.html
9
10 ENTRYPOINT ["nginx", "-g", "daemon off;"]
RUN 명령어 실습을 위한 Dockerfile 작성
FROM ubuntu
다른 실습과 다르게 ubuntu를 base로 해서 처음부터 설치하는 방식으로 실습하는게 특징. (RUN명령어 실습을 위해서 그러신듯)
RUN apt-get update
RUN apt-get install -y nginx
컨테이너 실행될 때 리눅스 명령어를 실행하는 것이다.
WORKDIR
작업 디렉토리를 파라미터로 넘겨받은 경로로 설정한다.
COPY, BASH 같은 명령어도 모두 해당 경로부터 시작된다.
COPY
HOST내용물을 CONTAINER로 복사한다.
(호스트)./webapp/index.html → (컨테이너) /var/www/html/index.nginx-debian.html 로 복사한다.
ENTRYPOINT : 컨테이너가 실행될 때 무조건 실행되는 명령어
(ENTRYPOINT는 CMD로 대체가능하다고 하심.)
ENTRYPOINT에 쓰인 daemon off;는 중요하다! 백그라운드로 실행하지말고 포그라운드로 실행하라는 의미인데 nginx를 백그라운드로 실행하면 컨테이너가 실행하자마자 죽어버린다고 함. (더 이상 실행할 명령어가 없다고 판단하고...) nginx command인 "nginx -g 'daemon off;'" 가 COMMAND로 떠있어야 죽지않음!
실습2. 빌드하기 및 확인하기
작성된 Dockerfile을 기반으로 image를 빌드하자.
docker build -t nginx-server:2.0 ./
docker build -t [생성할이미지명][생성할태그] [Dockerfile 위치]
빌드가 다되었다면 이미지가 생성되었는지 확인하자.
docker images
실습3. 빌드된 이미지 실행하기
docker run -d -p 8080:80 nginx-server:2.0
'코딩이야기 > Docker' 카테고리의 다른 글
도커 입문 17강 - docker file step5 - nginx설정 복사하기 (0) | 2024.06.29 |
---|---|
도커 입문 16강 - docker file step4 - nginx 내부구성 알아보기 (0) | 2024.06.28 |
도커 입문 14강 - docker file step2 - Entrypoint와 Workdir (0) | 2024.06.18 |
도커 입문 13강 - docker file step1 - 기본기 (1) | 2024.06.18 |
도커 입문 12강 - docker commit 이미지 굽기와 docker hub업로드 (0) | 2024.06.17 |