본문 바로가기
Study/Docker&Kubernetes

[Docker] .dockerignore&.env&ARG 작업

by kimdaepa 2026. 3. 3.

환경변수&.env 파일 작업

  • Dockerfile
    • FROM node:14
      
      WORKDIR /app
      
      COPY package.json .
      RUN npm install
      
      COPY . .
      
      # ENV 명령어를 사용하여 환경변수를 지정해줄 수 있음
      ENV PORT=80
      
      # "$" 기호를 사용하여 변수로 사용 가능
      EXPOSE $PORT
      
      CMD [ "node", "server.js" ]
  • 명령어
    • # --env or -e
      docker run -p 3000:80 --env <"ENV">
      
      ## 예시
      docker run -p 3000:80 --env PORT=80
      
      # 여러 개일 경우
      docker run -p 3000:80 -e <"ENV"> -e <"ENV">
      
      # .env 파일을 명시할 경우
      docker run -p 3000:80 --env-file <"/path/to/.env">

빌드 인수(ARG) 작업

  • Dockerfile
    • FROM node:14
      
      WORKDIR /app
      
      COPY package.json .
      RUN npm install
      
      COPY . .
      
      # ARG 명령어를 사용하여 인수를 지정해줄 수 있음
      # 이는 소스코드에서는 사용 X, Dockerfile에서만 사용
      # 단, CMD 명령어에는 사용 X
      ARG DEFAULT_PORT=80
      
      ENV PORT=$DEFAULT_PORT
      EXPOSE $PORT
      
      # VOLUME [ "/app/feedback" ]
      
      CMD [ "node", "server.js" ]
  • 명령어
    • # --build-arg
      docker build --build-arg <"ENV"> .
      
      # 예시
      docker build --build-arg DEFAULT_PORT=8000 .
      
      # 하나의 이미지로 여러 개를 빌드할 수 있음.

'Study > Docker&Kubernetes' 카테고리의 다른 글

[Docker] Docker Compose & 유틸리티 컨테이너  (0) 2026.06.22
[Docker] 컨테이너 통신  (0) 2026.03.04
[Docker] Volume  (0) 2026.03.03
[Docker] Docker Hub  (0) 2026.02.20
[Docker] 이미지와 컨테이너  (0) 2026.02.12