ARG 명령어란❓Dockerfile에서도 프로그래밍 함수처럼 변수를 사용할 수 있습니다. Docker의 ARG 명령어는 Dockerfile에서 빌드 시점에 사용할 변수를 정의하는 명령어입니다. 따라서 빌드 과정에서만 사용할 수 있고 빌드가 종료되면 ARG변수는 사용할 수 없습니다.1. 기본적인 ARG 사용법# 기본값 설정ARG VERSION=latestFROM openjdk:${VERSION}2. 빌드 시 값 전달# ARG로 정의된 변수 값 전달docker build --build-arg VERSION=17-jdk-slim . ARG 명령어의 주요 특징 Dockerfile 내에서만 사용빌드 시점에만 유효여러 번 선언 가능FROM 명령어 이전/이후 선언 시 스코프가 다름 ARG 명령어로 외부 초기화하..
개요우리가 사진을 찍을 때 특정 순간을 포착하여 저장하듯이, 소프트웨어 개발에서도 '스냅샷'이라는 개념으로 특정 시점의 상태를 포착하여 저장합니다. Git에서는 commit으로, Maven/Gradle에서는 버전 관리로 이 개념이 구현되어 있습니다. 이번 글에서는 이 "SNAPSHOT"의 개념에 대해서 정리하고자 합니다. SNAPSHOT이란 ❓Snapshot은 특정 시점의 데이터 상태나 시스템 상태를 캡처한 것을 말합니다. 주로 다음과 같은 맥락에서 사용됩니다. Maven/Gradle에서의 SNAPSHOTversion = '1.0.0-SNAPSHOT' 개발 중인 버전을 의미매 빌드마다 새로운 버전으로 간주항상 최신 버전을 가져옴로컬 캐시를 무시하고 원격 저장소에서 확인데이터베이스 측면 특정 시점의 DB..
개요Docker를 사용하면서 가장 혼동되는 부분 중 하나가 RUN, CMD, ENTRYPOINT 명령어의 차이점입니다. 이 세 명령어는 모두 컨테이너와 관련된 명령을 실행하지만, 각각의 용도와 실행 시점이 다릅니다. 이번 글에서는 각 명령어의 특징과 사용 사례를 자세히 알아보겠습니다. RUN RUN ./gradlew :payment:clean :payment:build -x test --no-daemon이미지 빌드 단계에서 실행되는 명령어새로운 레이어를 생성하여 이미지에 포함됨패키지 설치, 파일 복사 등 이미지 생성을 위한 준비 작업에 사용CMD# JAR 파일 실행CMD ["java", "-jar", "/app.jar"]컨테이너 시작 시 실행되는 기본 명령어docker run 실행 시 덮어쓸 수 있음S..
개요Docker 컨테이너를 구성할 때 가장 중요한 명령어 중 하나인 WORKDIR에 대해 자세히 알아보겠습니다. WORKDIR은 Dockerfile에서 컨테이너의 작업 디렉토리를 설정하는 핵심 명령어입니다. WORKDIR이란❓ WORKDIR 명령어는 Dockerfile에서 이어지는 명령어들( RUN, CMD, ENTRYPOINT, COPY, ADD 등 )이 실행될 작업 디렉토리를 설정합니다. 쉽게 말해서 컨테이너 내부에서 cd 명령어를 실행하는 것과 비슷한 효과를 가집니다. WORKDIR을 설정하면 그 이후의 모든 Docker 명령어(RUN, CMD, ENTRYPOINT, COPY, ADD)가 해당 디렉토리를 기준으로 실행됩니다.이는 마치 터미널에서 cd 명령어로 디렉토리를 이동하는 것과 비슷한 효과를..