728x90
dockerfile은 도커 이미지를 생성하기 위한 스크립트 파일
여러 키워드를 사용하여 dockerfile을 작성하여 빌드를 보다 쉽게 수행할 수 있음
1.Dockerfile Instruction
docker file에서 사용되는 주요 인스트럭션
FROM | from 키워드를 사용하여 base가 되는 image를 지정 주로 OS 이미지나 런타임 이미지를 지정함 |
RUN | 이미지를 빌드할 때 사용하는 커맨드를 설정할 때 사용 |
ADD | 이미지에 호스트의 파일이나 폴더를 추가하기 위해 사용 만약 이미지에 복사하려는 디렉토리가 존재하지 않으면 docker가 자동으로 생성 |
COPY | 호스트 환경의 파일이나 폴더를 이미지 안으로 복사하기 위해 사용 'ADD'와 동일하게 동작하지만 가장 확실한 차이점은 URL을 지정하거나, 압축파일을 자동으로 풀지 않음 |
EXPOSE | 이미지가 통신에 사용할 포트를 지정할 때 사용 |
ENV | 환경 변수를 지정할 때 사용 여기서 설정한 변수는 $name, ${name}의 형태로 사용할 수 있음 추가로 아래와 같은 문법을 사용하여 사용할 수도 있음 -${name:-else}:name이 정의가 안되어 있다면 'else'가 사용됨 |
CMD | 도커 컨테이너가 실행될 때 실행할 커맨드를 지정 'RUN'과 비슷하지만 CMD는 도커 이미지를 빌드할 대 실행되는 것이 아니라 컨테이너를 시작할 때 실행된다는 것이 다름 |
ENTRYPOINT | 도커 이미지가 실행될 때 사용되는 기본 커맨드를 지정 (강제) |
WORKDIR | RUN,CMDENTRYPOINT 등을 사용한 커맨드를 실행하는 디렉토리를 지정 -W 옵션으로 오버라이딩 할 수 있음 |
VOLUME | 퍼시스턴스 데이터를 저장할 경로를 지정할 때 사용 호스트의 디렉토리를 도커 컨테이너에 연결 주로 휘발성으로 사용되면 안되는 데이터를 저장할 때 사 |
기타옵션 (많이 사용되지 않아 설명은 생략...)
SHELL | ... |
LABEL | |
USER | |
ARG | |
STOPSIGNAL | |
HEALTHCHECK |
2.Docker build 커맨드
dockerfile을 실행하기 위해서는 docker build 커맨드를 사용
docker build ${option} ${dockerfile directory}
ex) docker build -t test .
생성된 이미지를 컨테이너로 실행하기 위해서는 run 커맨드를 사용
ex) docker run --name test_app -p 80:80test
3.Dockerfile의 build 와 contatiner의 commit의 차이점
container의 commit은 백업의 느낌
dockerfile의 build는 내가 구체적으로 만들고 싶은 이미지를 시간을 들여 구체적으로 새로 생성하는 느낌
백업과 생성
'DOCKER' 카테고리의 다른 글
[docker기초3-2.] 도커파일(Dockerfile)작성하기 -실습- (0) | 2024.05.29 |
---|---|
[docker기초3-1] 도커커밋(Docker commit) -실습- (0) | 2024.05.29 |
[docker기초2.] 도커 컨테이너와 통신하기 (0) | 2024.05.27 |
[docker기초1.] 도커 컨테이너 사용법. (0) | 2024.05.27 |
(도커)Ubuntu에 docker설치 (1) | 2024.05.07 |