kok202
[2019.01.30] Dockerfile

2019. 1. 30. 21:49[정리] 기능별 개념 정리/Docker

Dockerfile


 명령어

 요약

 비고

 FROM

 베이스 이미지 지정 

 

 WORKDIR 경로이동 = cd
 RUN 쉘 커맨드로 명령 실행 

 ENV

 환경변수 지정

 

 EXPOSE

 외부에 노출하는 포트 지정

 주로 쉘을 이용한 환경 설치

 CMD

 도커 컨테이너가 시작할 때 실행할 커맨드 지정

 복수개 사용 가능

 ENTRYPOINT

 도커 컨테이너가 시작할 때 실행할 메인 커맨드 지정

 하나만 사용 가능

 

 MAINTAINER

 이미지 생성자의 정보 입력

 
 USER

 명령을 실행할 사용자 지정

 

 

 ADD 파일을 이미지에 추가

 압축 풀기등 후처리 가능

 COPY 파일을 이미지에 복사 
 VOLUME 파일을 컨테이너가 아닌 컨테이너를 실행시킨 호스트에 저장 
 
 LABEL 라벨 지정 
 ARG

 이미지를 빌드할 때 설정할 옵션 지정

 
 SHELL 기본 쉘 변경 

 ONBUILD

 해당 이미지 기반의 다른 이미지가 생성될 시 실행되는 트리거

 




Dockerfile : openjdk7를 설치한 ubuntu 환경

출처 : https://github.com/dockerfile/java/blob/master/openjdk-7-jdk/Dockerfile


FROM ubuntu


RUN apt-get update

RUN apt-get install -y openjdk-7-jdk

RUN rm -rf /var/lib/apt/lists/*


WORKDIR /data

ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64


CMD ["bash"]




Dockerfile : 메이븐을 이용한 스프링 빌드, 포트 개방, 실행

출처 : https://kok202.tistory.com/19


FROM openjdk:8-jdk-alpine

VOLUME /tmp

ARG JAR_FILE


COPY . /test/src/

WORKDIR /test/src


RUN ./mvnw install -Dmaven.test.skip=true

RUN mkdir -p /test/apps

RUN cp /test/src/target/spring-tuto-0.0.1-SNAPSHOT.jar /test/apps/

RUN rm -rf /test/src


EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/test/apps/spring-tuto-0.0.1-SNAPSHOT.jar"] 


'[정리] 기능별 개념 정리 > Docker' 카테고리의 다른 글

도커 강의 정리 ( 1강 : 이미지 (Dockerfile) )  (0) 2019.06.07
docker-compose.yml  (0) 2019.03.26
[2019.03.05] Docker-machine  (0) 2019.03.05
[2019.01.25] Maven - Docker  (0) 2019.01.25
[2019.01.23] Docker  (0) 2019.01.23