여러 인수를 가진 --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
나는이 문제에 부딪 쳤으므로 앞으로 누군가 (나 자신)를 돕기를 바랍니다.
여러 ARG도 필요하다는 것은 부끄러운 일이며, 여러 레이어를 생성하고 그로 인해 빌드 속도가 느려지 며, 현재 여러 ARG를 설정할 방법이 없다고 궁금한 사람은 누구나 알고 있습니다.
빌드 중에 환경 변수를 사용하려는 경우 사용자 이름과 비밀번호를 설정한다고 말합니다.
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
참고 URL : https://stackoverflow.com/questions/42297387/docker-build-with-build-arg-with-multiple-arguments
'programing tip' 카테고리의 다른 글
지도 변환 (0) | 2020.06.14 |
---|---|
TabControl에서 TabPage를 숨기는 방법 (0) | 2020.06.14 |
사용 된 Java 힙 크기 및 메모리를 찾는 명령 줄 도구 (Linux)? (0) | 2020.06.14 |
Twitter의 Popover의 컨텐츠로 div를 사용할 수 있습니까? (0) | 2020.06.13 |
Visual Studio 2015 Community Edition 설치 중 여러 오류 (0) | 2020.06.13 |