태그 보관물: arguments

arguments

여러 인수를 가진 –build-arg로 docker build 문서 에 따르면 플래그에 대해

문서 에 따르면 플래그에 대해 여러 개의 인수를 정의 할 --build-arg수 있지만 방법을 찾을 수는 없습니다. 나는 다음을 시도했다.

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache .

=> 오류를 반환합니다.

나는 또한 시도했다 :

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache .

=> 변수 하나를 number_of_shards“5, number_of_replicas = 2″값으로 설정합니다

여러 인수를 어떻게 정의 할 수 있습니까?



답변

--build-arg각 인수와 함께 사용하십시오 .

두 개의 인수를 전달하는 경우 다음 --build-arg과 같이 각 인수 를 추가하십시오 .

docker build \
-t essearch/ess-elasticsearch:1.7.6 \
--build-arg number_of_shards=5 \
--build-arg number_of_replicas=2 \
--no-cache .


답변

pl_rock의 위의 대답은 정확합니다. 추가 할 유일한 것은 Dockerfile에 ARG가 없을 경우 ARG를 기대하는 것입니다. 당신이하고 있다면

docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 --build-arg number_of_replicas=2 --no-cache .

그런 다음 Dockerfile 안에 추가해야합니다

ARG number_of_replicas
ARG number_of_shards

나는이 문제에 부딪 쳤으므로 앞으로 누군가 (나 자신)를 도울 수 있기를 바랍니다.


답변

빌드 중에 환경 변수를 사용하려는 경우 사용자 이름과 비밀번호를 설정한다고 말합니다.

username= Ubuntu
password= swed24sw

도커 파일

FROM ubuntu:16.04
ARG SMB_PASS
ARG SMB_USER
# Creates a new User
RUN useradd -ms /bin/bash $SMB_USER
# Enters the password twice.
RUN echo "$SMB_PASS\n$SMB_PASS" | smbpasswd -a $SMB_USER

터미널 명령

docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG


답변

그것은 때문에 그 빌드 아래 여러 계층과 감속을 초래하고, 또한 궁금 누군가를 위해, 현재, 우리는 너무 여러 ARG가 필요하다고 부끄러운 방법이 없습니다 여러 인수를 설정하는가.


답변