-
Docker arguments 처리시 유의점LINUX/Docker 2022. 11. 14. 15:09728x90
Docker AGR 이용시 주의 점
이번 프로젝트에서 docker build 시 특정 값을 주입해서 사용하게 되었습니다.
아래와 같이 3개의 인자를 넘기는 build 실행 명령이 있을 경우, --build-arg을 이용해서 Dockerfile에서 사용할 인자를 전달 합니다.
$ docker build --build-arg V_ACCOUNT_ID=${V_ACCOUNT_ID} --build-arg V_NEXUS_REGISTRY=${V_NEXUS_REGISTRY} --build-arg V_NEXUS_AUTH=${V_NEXUS_AUTH} -t ${V_CONTAINER_NAME}:${V_TAG_NAME} .
Dockerfile에서 인자를 사용할때는 FROM 기준으로 선언 해야 합니다.
Dockerfile 예제
# 여기서 선언한 AGR은 FROM 까지만 유효합니다 ARG V_ACCOUNT_ID FROM ${V_ACCOUNT_ID}.dkr.ecr.ap-northeast-2.amazonaws.com/node:latest # 여기에 AGR을 선언해야 아래에서 사용이 가능합니다. ARG V_NEXUS_REGISTRY ARG V_NEXUS_AUTH # Create app directory WORKDIR /usr/src/app # Install app dependencies # A wildcard is used to ensure both package.json AND package-lock.json are copied # where available (npm@5+) COPY package*.json ./ RUN echo "registry=${V_NEXUS_REGISTRY}" >> .npmrc RUN echo "_auth=${V_NEXUS_AUTH}" >> .npmrc RUN npm install --legacy-peer-deps RUN npm audit fix --legacy-peer-deps # Bundle app source COPY . . # build typescript RUN npm run build # Copy Entrypoint Script COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh ENTRYPOINT ["/sbin/init"]
참고자료
728x90'LINUX > Docker' 카테고리의 다른 글
docker 에서 실행중인 컨테이너를 이미지로 전환 처리 (0) 2024.06.30 Mac M1에서 Docker로 Mysql 실행하기 (0) 2022.11.11 [Docker] FTP 서버 구축 하기 (0) 2015.10.14 [Docker] nginx 1.9.2 설치 하기 (0) 2015.06.17 [Mariadb]Docker를 이용하여 MAIRADB BINARY 설치 가이드 문서 (0) 2015.05.20