Trong Dockerfile, ENV là một chỉ thị được sử dụng để định nghĩa các biến môi trường trong container Docker. Chỉ thị này cho phép bạn thiết lập các biến môi trường, có thể được sử dụng trong quá trình xây dựng image và khi chạy container.

Cú pháp của ENV trong Dockerfile như sau:

ENV <tên_biến>=<giá_trị>
  • <tên_biến>: Tên của biến môi trường. Bạn có thể sử dụng tên này để tham chiếu biến trong Dockerfile và trong quá trình chạy container.
  • <giá_trị>: Giá trị của biến môi trường.

Các biến môi trường được định nghĩa bằng ENV có thể được sử dụng trong các chỉ thị khác của Dockerfile như RUN, CMD, ENTRYPOINT, COPY, vv. Bên cạnh đó, khi chạy container từ image, các biến môi trường này cũng sẽ có sẵn cho quá trình chạy trong container.

Ví dụ, để định nghĩa một biến môi trường trong Dockerfile và sử dụng nó trong một chỉ thị RUN, bạn có thể làm như sau:

ENV VERSION=1.0
RUN echo "Building version ${VERSION}"

Trong ví dụ trên, biến môi trường VERSION có giá trị là 1.0 và được sử dụng trong câu lệnh RUN để in ra “Building version 1.0”.

Khi chạy container từ image, các biến môi trường này sẽ được truyền vào container và có sẵn cho các tiến trình bên trong. Bạn có thể truy cập và sử dụng các biến môi trường này từ bên trong container.

Chú ý rằng, giá trị của biến môi trường được định nghĩa bằng ENV trong Dockerfile là tĩnh và không thể thay đổi trong quá trình chạy container. Nếu bạn cần biến môi trường có thể thay đổi trong quá trình chạy, bạn có thể xem xét việc sử dụng tham số -e khi chạy lệnh docker run để truyền giá trị biến môi trường từ bên ngoài.

Các bước

  • Viết một Dockerfile với ENV
  • Xây dựng image Docker
  • Chạy container env:v1
  • Ghi đè env hiện có trong khi chạy container

Viết một Dockerfile với ENV

Dockerfile

FROM alpine:3.9.3
LABEL maintainer="hocdevops"
ENV WELCOME_MESSAGE="Welcome to Docker World"
CMD ["sh", "-c", "echo $WELCOME_MESSAGE"]

Build image Docker

$ docker build -t env:v1 .

Chạy container env:v1

$ docker container run env:v1
Welcome to Docker World

Ghi đè env hiện có trong khi chạy container

$ docker container run --env WELCOME_MESSAGE="Welcome to Hocdevops" env:v1
Welcome to Hocdevops
5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments