**https://docs.docker.com/engine/reference/builder/#from**
가능하면, 현재 제공되고 있는 공식 이미지를 사용하는 것이 좋다. 알파인 이미지는 리눅스 배포판 중에서 크기가 매우작고 (6mb) 엄격하게 관리되고 있기 때문에 사용을 추천한다.
**https://docs.docker.com/config/labels-custom-metadata/**
이미지에 레이블을 추가하여 프로젝트별 이미지 구성, 라이센스 정보 기록, 자동화 정보 등 기타 여러가지 정보를 기록할 수 있다. 각 레이블은 **LABEL
**로 시작하고, 하나 이상의 키-값 쌍으로 추가하면 된다.
공백이 있는 문자열은 따옴표로 묶거나 공백을 이스케이프 해야 한다. (''
도 마찬가지다.)
# Set one or more individual labels
LABEL com.example.version="0.0.1-beta"
LABEL vendor1="ACME Incorporated"
LABEL vendor2=ZENITH\\ Incorporated
LABEL com.example.release-date="2015-02-12"
LABEL com.example.version.is-production=""
모든 이미지는 레이블을 하나 이상 가지고 있을 수 있다. Docker 1.10 이전 버전에서는, 추가적인 레이어가 생성되지 않도록 여러 레이블을 하나의 **LABEL
**로 묶는 것이 권장되었다. 이제 더이상 필요하진 않지만 여전히 여러개를 결합하는 방식은 가능하다.
# Set multiple labels on one line
LABEL com.example.version="0.0.1-beta" com.example.release-date="2015-02-12"
# Set multiple labels at once, using line-continuation characters to break long lines
LABEL vendor=ACME\\ Incorporated \\
com.example.is-beta= \\
com.example.is-production="" \\
com.example.version="0.0.1-beta" \\
com.example.release-date="2015-02-12"
**https://docs.docker.com/engine/reference/builder/#run**
길거나 복잡한 RUN
구문은 백슬래시를 활용하여 여러줄로 분할하는 것이 Dockerfile
관리에 좋다.
**RUN
**에서 아마 가장 자주 사용되는 명령어는 **apt-get
**일 것이다. **RUN apt-get
**은 패키지를 설치하는 명령어이기 때문에 몇가지를 고려 해야 한다.
RUN apt-get update
와 **apt-get install
**은 항상 같은 **RUN
**구문 안에 있어야 한다.