Skip to content
An`s Weblog
Go back

Build Arguments

Build Arguments là gì?

Cách sử dụng ARG trong Dockerfile

## Thiết lập biến build ARG có tên là SRC_DIR
ARG SRC_DIR=/var/node

## Dùng biến ARG bên trong các chỉ dẫn
RUN mkdir -p $SRC_DIR
ADD ./src $SRC_DIR
WORKDIR $SRC_DIR

ARG chỉ có hiệu lực trong thời gian build, không tồn tại trong container runtime như ENV.

Build Image với Build Arg

docker image build \\
  -t linuxacademy/weather-app:v3 \\
  --build-arg SRC_DIR=/var/code \\
  .

Dockerfile mẫu trong bài học

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

ARG SRC_DIR=/var/node

RUN mkdir -p $SRC_DIR
ADD ./src $SRC_DIR
WORKDIR $SRC_DIR

RUN npm install
EXPOSE 3000
CMD ["npm", "start"]

Kiểm tra lại kết quả sau khi build

docker image inspect linuxacademy/weather-app:v3 | grep WorkingDir

Giá trị WORKDIR không đúng, lệnh npm install sẽ thất bại do không có mã nguồn để xử lý.

Chạy container từ image vừa build

docker container run -d \\
  --name weather-app \\
  -p 8085:3000 \\
  linuxacademy/weather-app:v3

Kiểm tra kết quả:

curl localhost:8085

Nếu trả về HTML → container hoạt động đúng.

Tổng kết


Share this post:

Previous Post
Working with Non-privileged User
Next Post
Environment Variables