Docker - Dockerfile
정의
Container를 만들 수 있도록 도와주는 명령어의 집합이며, 파일명은 반드시 Dockerfile 이어야한다.
쉽고, 간단하고 명확한 구문을 가진 text file이며, Top-Down으로 해석을 한다.
컨테이너 이미지를 생성할 수 있는 고유의
Instruction
을 가진다.대소문자를 구분하지는 않지만 가독성을 위해
지시어
는대문자
로 사용한다.
지시어
지시어 | 설명 |
---|---|
FROM | 가장 먼저 작성해야하며, 운영환경(base image)을 의미한다 |
MAINTAINER | 이미지를 생성한 사람의 이름 및 정보 |
LABEL | 이미지에 컨테이너의 정보를 저장 |
RUN | 빌드를 위해 base image에서 실행할 commands |
COPY | 빌드하는 시점에 HOST의 파일을 컨테이너로 복사한다 |
ADD | 빌드하는 시점에 HOST의 파일(url, tar 포함)을 컨테이너로 복사한다 |
WORKDIR | 컨테이너 빌드 시 명령이 실행될 작업 디렉터리 설정 |
ENV | 환경변수 지정 |
USER | 명령 및 컨테이너 실행 시 적용할 유저 설정 (root가 아닌 시스템 계정을 만들어서 실행할 수 있다) |
VOLUME | 컨테이너가 동작할 때 파일 또는 디렉토리를 컨데이너의 디렉토리로 마운트(데이터가 저장될 장소) |
EXPOSE | 컨테이너 동작 시 외부에서 사용할 포트 지정 |
CMD | 컨테이너 동작 시 자동으로 실행할 서비스나 스크립트 지정, 동작 시 변환이 가능하다. |
ENTRYPOINT | CMD와 함께 사용하면서 command 지정 시 사용, 명령어를 변환할 수 없다. |
기타 | CMD와 ENTRYPOINT를 같이 쓰일 때는 ENTRYPOINT에 명령어, CMD에 args, option을 넣어 사용한다 |
빌드 및 배포
1. 빌드
docker build -t [컨테이너이름] [build할 파일이 있는 디렉토]
- docker build -t hellojs:latest .
2. 로그인
docker login
3. 배포
docker push [컨테이너이름]
Docker - Dockerfile
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.