2023년 1월 31일
필수 명령| 명령 | 설명 |
|---|---|
| FROM | 베이스 이미지 지정 명령 |
FROM httpd:alpine |
|
| LABEL | 버전 정보, 작성자와 같은 이미지 설명을 작성하기 위한 명령 |
LABEL version=”1.0.0” |
|
| CMD | docker 컨테이너가 시작할 때, 실행하는 쉘 명령을 지정하는 명령. |
| RUN과 비슷하지만 RUN은 이미지 작성시 실행하는 명령이고 CMD는 컨테이너를 시작할 때 실행하는 명령임. | |
CMD [’python’, ‘app.py’] |
|
| RUN | 쉘 명령을 실행하는 명령. |
| RUN은 이미지 작성시 실행되며, 일종의 새로운 이미지 layer를 만드는 역할을 함. | |
RUN [”apt-get”, “install”, ‘nginx’] |
|
| ENTRYPOINT | docker 컨테이너가 시작할 때, 실행하는 쉘 명령을 지정하는 명령. |
| docker run 커맨드 실행 시 별도 명령어도 넣을 수 있는데, 이 때 CMD 명령은 해당 명령으로 덮어씌워진다. | |
| ENTRYPOINT로 지정한 명령은 docker run 커맨드 실행시 함께 넣어진 별도 명령어가 있더라도, 덮어씌워지지 않고 실행됨. | |
| EXPOSE | docker 컨테이너 외부에 오픈할 포트 설정 |
EXPOSE 8080 |
|
| ENV | docker 컨테이너 내부에서 사용할 환경 변수 지정 |
ENV PATH /usr/bin:$PATH |
|
| WORKDIR | docker 컨테이너에서의 작업 디렉토리 설정 |
| COPY | 파일 또는 디렉토리를 docker 컨테이너에 복사. |
| ADD와 달리 URL은 지정할 수 없으며, 압축 파일을 자동으로 풀어주지 않음. | |
COPY test.sh /root/test.sh |
그 외 명령docker build 옵션 Dockerfile_경로
주요 옵션
| 옵션 | 설명 |
|---|---|
| `-t | |
| --tag` | 이미지 이름 설정. 이미지 이름은 저장소(DockerHub ID) |
이미지이름:태그 와 같이 작성할 수 있다. |
|
| (저장소 이름 및 태그 이름은 작성하지 않아도 되며, 태그 이름이 없으면 디폴트로 latest 태그가 붙는다.) | |
-f |
이미지 빌드시 디폴트로 Dockerfile 파일명으로 된 파일을 찾아서 이미지를 빌드함. |
| 그 외의 파일명으로 이미지를 빌드할 경우 해당 옵션을 사용해서 파일명을 지정할 수 있다. | |
-—pull |
FROM으로 지정된 이미지는 한번 다운로드 받으면 이미지 생성시마다 새로 다운로드 받지 않고, 다운로드 받은 이미지를 사용함. |
| 해당 옵션은 이미지를 생성할 때마다 새로 다운로드 받으라는 옵션. | |
--pull=true 와 같이 사용. |
|
| Dockerhub에 베이스 이미지를 수시로 업데이트하고, 이를 기반으로 새로운 이미지를 생성하는 경우 사용할 수 있다. |