Docker 환경변수 설정

버건디·2024년 1월 19일
0

도커

목록 보기
6/10
post-thumbnail

도커에는 2가지 타입의 변수를 지원한다.

하나는 빌드 타임 인수와 또 다른 하나는 런타임 환경 변수이다.

빌트 타임 인수는 docker build를 통해 빌드를 할때 --build-arg 옵션을 통해 빌드시에 변수를 설정할 수 있다.

또한 런타임 환경 변수는 Dockerfile 내부에서 사용할 수 있으며, --env 옵션을 통해서 해당 환경 변수가 존재한다고 Docker에 알린다.

또한 docker run 명령어를 통해 해당 컨테이너를 실행할때 이런 환경 변수가 있다. 라는 것을 알릴 수 있다.

FROM node:18-alpine

RUN apk --no-cache add --virtual builds-deps build-base python

WORKDIR /app

COPY package.json .

RUN npm install

COPY . .

ENV PORT 80

EXPOSE $PORT

CMD ["npm", "start"]

이런식으로 Dockerfile 내에서 ENV 명령어를 통해 PORT라는 변수에 80이라는 값을 할당하고, $변수 를 통해서 해당 값을 사용해줄수 있다.

이런 경우에는 빌드 타임 인수 로서 사용해준다.

그게 아니라면 docker run --env PORT=80 처럼 도커 실행시에 값을 할당해줄수도있다.

환경변수가 많아서 .env에서 관리해준다면 docker run --env-file ./.env 이미지명 으로 아예 파일 자체를 실행시켜줄수 있다.

또한 .env는 보안에 관련한 값들이 들어있으므로 .dockerignore에서 .env를 추가 해주어야한다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글

관련 채용 정보