Skip to content
An`s Weblog
Go back

Environment Variables

Twelve-Factor App – Nguyên tắc số 3: Config

2 Cách sử dụng Environment Variables trong Docker

Cách dùngLệnh hoặc chỉ dẫnGhi chú
Trong DockerfileENV KEY=valueThiết lập giá trị mặc định
Khi chạy container--env KEY=valueGhi đè giá trị mặc định

Ví dụ Dockerfile với ENV

FROM node:12
LABEL org.label-schema.version="v2"

ENV NODE_ENV=development
ENV PORT=3000

WORKDIR /var/node
COPY ./src /var/node
RUN npm install

EXPOSE $PORT
CMD ["npm", "start"]

Build image

docker image build -t linuxacademy/weather-app:v2 .

Chạy container – Dev

docker container run -d \
  --name weather-dev \
  -p 8082:3001 \
  --env PORT=3001 \
  linuxacademy/weather-app:v2

Inspect container để kiểm tra env

docker container inspect weather-dev

Xem Env section để xác minh giá trị của NODE_ENV và PORT.

Chạy container – Production

docker container run -d \
  --name weather-app2 \
  -p 8083:3001 \
  --env PORT=3001 \
  --env NODE_ENV=production \
  linuxacademy/weather-app:v2

Kiểm tra log container

docker container logs weather-app2

Xem ứng dụng đang chạy ở cổng nào, sẽ in ra: Application listening on port 3001

Chạy container khác (default port)

docker container run -d \
  --name weather-prod \
  --env NODE_ENV=production \
  linuxacademy/weather-app:v2

Không thay đổi PORT → Sẽ dùng mặc định là 3000.

Tổng kết nội dung bài học


Share this post:

Previous Post
Build Arguments
Next Post
Working with Instructions