이재홍의 언제나 최신 Docker - Unit 13.2 build

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

Docker 명령어 및 옵션 목록

이재홍 http://www.pyrasis.com

build

다음은 Dockerfile로 이미지를 생성하는 build 명령입니다.

docker build <옵션> <Dockerfile 경로>

Dockerfile 경로는 로컬 경로와 URL을 사용할 수 있고, -를 설정하면 표준 입력으로 Dockerfile 내용을 받을 수 있습니다.

  • --force-rm=false: 이미지 생성에 실패했을 때도 임시 컨테이너를 삭제합니다.
  • --no-cache=false: 이전 빌드에서 생성된 캐시를 사용하지 않습니다. Docker는 이미지 생성 시간을 줄이기 위해서 Dockerfile의 각 과정을 캐시하는데, 이 캐시를 사용하지 않고 처음부터 다시 이미지를 생성합니다.
  • -q, --quiet=false: Dockerfile의 RUN이 실행한 출력 결과를 표시하지 않습니다.
  • --rm=true: 이미지 생성에 성공했을 때 임시 컨테이너를 삭제합니다.
  • -t, --tag="": 저장소 이름, 이미지 이름, 태그를 설정합니다. <저장소 이름>/<이미지 이름>:<태그> 형식입니다.
    • hello
    • hello:0.1
    • exampleuser/hello
    • exampleuser/hello:0.1

보통 Dockerfile이 있는 경로에서 docker build 명령을 실행합니다. Dockerfile 있는 특정 경로를 설정할 수도 있습니다.

$ sudo docker build -t hello .
$ sudo docker build -t hello /opt/hello
$ sudo docker build -t hello ../../

다음은 인터넷에 있는 Dockerfile의 URL을 사용하여 이미지를 생성합니다.

$ sudo docker build -t hello https://raw.githubusercontent.com/kstaken/dockerfile-examples/master/apache/Dockerfile

다음은 Dockerfile 경로에 -를 설정하여 Dockerfile 내용을 표준 입력으로 받습니다.

$ echo -e "FROM ubuntu:latest\nRUN apt-get update" | sudo docker build -t hello -
$ cat Dockerfile | sudo docker build -t hello -
$ sudo docker build -t hello - < Dockerfile

echo 명령으로 문자열을 직접 출력해도 되고, cat 명령으로 파일의 내용을 파이프로 보내도 됩니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2022-10-03