Dockerhub 자동 빌드에서 환경 변수를 사용하는 방법
샘플 코드
이하가 이번 해설에 사용하는 소스 코드, Docker 리포지토리입니다.
소스 코드
htps : // 기주 b. 코 m / 카이 도지 85 / s dy-th ree-js
Docker 리포지토리
htps : // 후 b. 도 c r. 코 m / r / 카이 도지 85 / gb 등
이 코드는 내가 취미로 만들고 있는 게임 입니다만, 놀이 방법 설명 동영상으로서 YouTube를 퍼가고 있습니다. YouTube URL을 하드 코딩하는 것도 느껴졌기 때문에 HOW_TO_PLAY_URL
라는 환경 변수로 설정을 외출할 수 있도록 했습니다.
환경 변수 설정 방법
1. BUILD ENVIRONMENT VARIABLES
dockerhub의 자동 빌드 설정 화면을 열면 "BUILD ENVIRONMENT VARIABLES"라는 항목이 있습니다. Key에 환경 변수 이름을, Value에 값을 설정합니다. 이것만으로 환경 변수를 사용할 수 있을 것 같습니다만, 그렇게는 도매상이 도매하지 않습니다.
2. hooks/build
Dockerhub 공식 사이트 에 자연스럽게 써 있습니다만, 전절에서 설정한 항목은 hooks
폴더하하의 쉘로 밖에 사용할 수 없습니다. 따라서 다음 내용으로 git 저장소에 hooks/build
라는 파일을 추가합니다.
hooks/build#!/bin/bash
docker build -t $IMAGE_NAME --build-arg <環境変数名>=$<環境変数名> .
샘플 프로젝트 에서는, hooks/build
에 이하 내용을 기재했습니다.
샘플 코드#!/bin/bash
docker build -t $IMAGE_NAME --build-arg HOW_TO_PLAY_URL=$HOW_TO_PLAY_URL .
덧붙여서 여러 환경 변수를 건네주고 싶은 경우는, 번거로운 냄새입니다만 이하와 같이 씁니다.
여러 환경 변수 지정docker build -t $IMAGE_NAME --build-arg VAL1=$VAL1 --build-arg VAL2=$VAL2 --build-arg VAL3=$VAL3 .
여기에서 먼저 밟은 설명이므로, 방법만 알고 싶은 분은 읽어 날려 주세요. hooks/build
는 사용자 자신의 Docker 빌드 명령을 실행할 때 사용하는 쉘입니다. Docker 빌드에 환경 변수를 전달하는 방법은 여러 가지 있다고 생각합니다만, 여기에서는 일반적인 방법인 --build-arg
를 사용하고 있습니다. 또한 $IMAGE_NAME
는 dockerhub가 미리 준비한 환경 변수 이름으로 docker 이미지 이름을 설정합니다. dockerhub 공식 사이트 을 보면, 이것 이외에도 다양한 환경 변수가 미리 정의되고 있는 것 같습니다.
3. ARG
다음과 같이 Dockerfile에 ARG
라는 항목을 추가합니다.
DockerfileARG 環境変数名
다음은 샘플 코드 의 Dockerfile입니다. 두 번째 줄에는 "ARG"라는 설명이 있습니다.
샘플 코드FROM node:12.16.1-slim as builder
ARG HOW_TO_PLAY_URL
WORKDIR /usr/src/app
COPY . /usr/src/app/
RUN npm config set registry http://registry.npmjs.org/ && \
npm ci && \
npm run build:production
FROM node:12.16.1-slim as runner
WORKDIR /usr/src/app
COPY --from=builder /usr/src/app/ /usr/src/app/
CMD [ "npm", "run", "serve" ]
EXPOSE 3000
덧붙여서입니다만, ARG
(와)과는 --build-arg
그리고 건네받은 환경 변수를 Dockerfile로 사용할 수 있도록 하기 위한 명령입니다. 그러므로 --build-arg
만을 지정해도 환경 변수를 전달할 수 없습니다.
Reference
이 문제에 관하여(Dockerhub 자동 빌드에서 환경 변수를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pegass85/items/98972bc27de2fdeae46e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. BUILD ENVIRONMENT VARIABLES
dockerhub의 자동 빌드 설정 화면을 열면 "BUILD ENVIRONMENT VARIABLES"라는 항목이 있습니다. Key에 환경 변수 이름을, Value에 값을 설정합니다. 이것만으로 환경 변수를 사용할 수 있을 것 같습니다만, 그렇게는 도매상이 도매하지 않습니다.
2. hooks/build
Dockerhub 공식 사이트 에 자연스럽게 써 있습니다만, 전절에서 설정한 항목은
hooks
폴더하하의 쉘로 밖에 사용할 수 없습니다. 따라서 다음 내용으로 git 저장소에 hooks/build
라는 파일을 추가합니다.hooks/build
#!/bin/bash
docker build -t $IMAGE_NAME --build-arg <環境変数名>=$<環境変数名> .
샘플 프로젝트 에서는,
hooks/build
에 이하 내용을 기재했습니다.샘플 코드
#!/bin/bash
docker build -t $IMAGE_NAME --build-arg HOW_TO_PLAY_URL=$HOW_TO_PLAY_URL .
덧붙여서 여러 환경 변수를 건네주고 싶은 경우는, 번거로운 냄새입니다만 이하와 같이 씁니다.
여러 환경 변수 지정
docker build -t $IMAGE_NAME --build-arg VAL1=$VAL1 --build-arg VAL2=$VAL2 --build-arg VAL3=$VAL3 .
여기에서 먼저 밟은 설명이므로, 방법만 알고 싶은 분은 읽어 날려 주세요.
hooks/build
는 사용자 자신의 Docker 빌드 명령을 실행할 때 사용하는 쉘입니다. Docker 빌드에 환경 변수를 전달하는 방법은 여러 가지 있다고 생각합니다만, 여기에서는 일반적인 방법인 --build-arg
를 사용하고 있습니다. 또한 $IMAGE_NAME
는 dockerhub가 미리 준비한 환경 변수 이름으로 docker 이미지 이름을 설정합니다. dockerhub 공식 사이트 을 보면, 이것 이외에도 다양한 환경 변수가 미리 정의되고 있는 것 같습니다.3. ARG
다음과 같이 Dockerfile에
ARG
라는 항목을 추가합니다.Dockerfile
ARG 環境変数名
다음은 샘플 코드 의 Dockerfile입니다. 두 번째 줄에는 "ARG"라는 설명이 있습니다.
샘플 코드
FROM node:12.16.1-slim as builder
ARG HOW_TO_PLAY_URL
WORKDIR /usr/src/app
COPY . /usr/src/app/
RUN npm config set registry http://registry.npmjs.org/ && \
npm ci && \
npm run build:production
FROM node:12.16.1-slim as runner
WORKDIR /usr/src/app
COPY --from=builder /usr/src/app/ /usr/src/app/
CMD [ "npm", "run", "serve" ]
EXPOSE 3000
덧붙여서입니다만,
ARG
(와)과는 --build-arg
그리고 건네받은 환경 변수를 Dockerfile로 사용할 수 있도록 하기 위한 명령입니다. 그러므로 --build-arg
만을 지정해도 환경 변수를 전달할 수 없습니다.
Reference
이 문제에 관하여(Dockerhub 자동 빌드에서 환경 변수를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pegass85/items/98972bc27de2fdeae46e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)