여러 인수가 있는 docker build 명령

Isaac Tony 2022년8월23일
여러 인수가 있는 docker build 명령

docker build 명령을 사용하면 Dockerfile에서 Docker 이미지를 만들 수 있습니다. 또한 PATH 또는 URL로 지정된 위치에 있는 파일 세트를 참조하는 컨텍스트에서 이미지를 빌드할 수 있습니다.

반면에 Dockerfile은 Docker 이미지를 어셈블할 때 호출될 지침이 포함된 읽기 전용 텍스트 문서입니다. Docker 이미지는 Docker 컨테이너를 빌드하는 데 사용하는 명령 세트, 애플리케이션 코드, 종속성, 도구 및 라이브러리입니다.

이 튜토리얼은 docker build 명령과 여러 인수를 사용하는 방법을 보여줍니다.

여러 인수가 있는 docker build 명령

docker build 명령은 일반적으로 터미널 또는 명령줄에서 실행됩니다.

통사론:

docker build [options] <directory path or URL>

PATH 또는 URL은 사전 패키징된 tarball 컨텍스트, 일반 텍스트 파일 또는 git 저장소와 같은 리소스를 포함할 수 있는 컨텍스트의 파일 세트를 나타냅니다. 모든 파일이 로컬 디렉토리, 즉 Dockerfile과 동일한 디렉토리에 저장된 경우 .를 사용하도록 선택할 수 있습니다. 경로로.

이 경로는 도커 데몬의 빌드 컨텍스트에 사용되는 파일을 지정합니다.

docker build .

옵션 매개변수에서 빌드 시간 동안 여러 인수를 전달할 수 있습니다. –build-arg 태그를 사용하여 사용자가 빌드 시 설정할 수 있는 값을 설정할 수 있습니다.

그러나 --build-arg 태그를 사용하여 이미지를 빌드하기 전에 먼저 Dockerfile에서 ARG 명령어를 정의해야 합니다. 일반 환경 변수처럼 이 빌드 시간 변수에 액세스할 수 있습니다. 그러나 이미지를 빌드한 후에는 지속되지 않습니다.

ARG 명령어의 범위는 제한되어 있지만 기본 이미지를 지정하기 전에 선언할 수 있습니다. 별도의 --build-arg 태그를 사용하여 각 인수를 별도로 전달하여 여러 빌드 인수를 전달할 수도 있습니다.

통사론:

docker build -t <image-name>:<tag> --build-arg <key1>=<value1> --build-arg <key2>=<value2> .

다음 예에서 일부 ARG 값을 정의하는 간단한 Dockerfile이 있습니다. 이 경우 기본값을 설정하지 않았습니다.

Docker 파일은 아래와 같이 보입니다.

#  base image
FROM python

ARG language
ARG name
# Set your working directory
WORKDIR /var/www/

# Copy the necessary files
COPY ./app.py /var/www/app.py

# Install the necessary packages
RUN pip install -r /var/www/requirements.txt

RUN echo "Hello $language Developer"
MAINTAINER Isaac Tonyloi

따라서 이미지를 빌드할 때 -build-arg 태그를 사용하여 값을 전달해야 합니다.

~/my-app$ docker build --build-arg language=Java .

위의 명령을 사용하여 이미지를 빌드하면 아래와 같이 Hello Java Developer 메시지가 다른 파일과 함께 인쇄됩니다.

                                                                                                           0.0s
 => [5/6] RUN pip install -r /var/www/requirements.txt                                                                                                                      100.4s
 => [6/6] RUN echo "Hello Java Developer"                                                                                                                                     4.4s
 => exporting to image                                                                                                                                                        3.8s
 => => exporting layers                                                                                                                                                       2.8s
 => => writing image sha256:22fa358b711d2ea3a1d72e59f062f6c7c38b414bdb253fb8d0def20222cadd93

여러 --build-arg 태그를 사용하여 여러 명령과 함께 docker build를 사용할 수도 있습니다.

/my-app$ docker build \
> --build-arg language=Java \
> --build-arg name=Tonyloi \
> .

그러면 아래에 다른 메시지와 함께 메시지가 인쇄됩니다. 이것은 매우 기본적이지만 Dockerfile에서 Docker 이미지를 빌드할 때 여러 명령을 전달할 수 있는 방법입니다.

출력:

 => [2/2] RUN echo "Hello Java Developer and my name is Tonyloi"                                                                                                              3.3s
 => exporting to image                                                                                                                                                        3.0s
 => => exporting layers                                                                                                                                                       2.0s
 => => writing image sha256:d4d7c3b18aa9422be2990f5381a5423a18867dda8090dd4a4f166efc4e7c4ba2
작가: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

관련 문장 - Docker Command