Cách chuyển các biến môi trường vào vùng chứa Docker

How Pass Environment Variables Docker Container



Docker là một chương trình mã nguồn mở thực thi các ứng dụng máy chủ bằng cách sử dụng vùng chứa chứ không phải máy ảo. Docker là một cấu hình lưu trữ và phát triển sử dụng ít tài nguyên hơn, vì vậy không có gì ngạc nhiên khi nó đang lan rộng khắp thế giới phát triển. Các biến môi trường Docker có ý nghĩa quan trọng đối với quy trình này vì chúng lưu trữ dữ liệu duy nhất cho mỗi tài khoản người dùng truy cập phần mềm.

Sử dụng bất kỳ khung JavaScript hiện đại nào để tạo vùng chứa cho một ứng dụng, bạn có thể phát hiện ra rằng cài đặt cấu hình khác nhau tùy thuộc vào nơi vùng chứa sẽ thực thi. Ví dụ: URL cơ bản cho API của bạn có thể khác nhau tùy thuộc vào việc bạn đang thử nghiệm hay xuất bản ứng dụng. Các biến môi trường thường được các nhà phát triển sử dụng để giải quyết vấn đề này vì mã hoạt động trên phần phụ trợ, các biến môi trường thường được sử dụng ở đó.







Trong quá trình xây dựng hình ảnh, chúng ta có thể cần chuyển thông tin môi trường đến vùng chứa đang vận hành. Để làm như vậy, chúng tôi sử dụng cả lệnh ENV và ARG. Lệnh ARG tạo một biến có thể được cung cấp trong quá trình xây dựng. Sau khi nó được xác định trong Dockerfile, bạn có thể sử dụng tham số —build-arg để cung cấp nó cho trình tạo hình ảnh. Trong Dockerfile, chúng ta có thể có nhiều hướng dẫn ARG. Trong Dockerfile, lệnh ARG là lệnh duy nhất có thể đứng trước lệnh FROM.



Tuy nhiên, Hướng dẫn ENV đặt biến môi trường, biến môi trường này sẽ chỉ định môi trường cho các hướng dẫn xây dựng tiếp theo. Hướng dẫn ENV có thể truy cập được trong quá trình xây dựng cũng như khi vùng chứa được khởi động bằng cờ —env. Tuy nhiên, chúng tôi không thể chuyển hướng dẫn ENV trong khi xây dựng hình ảnh. Chỉ thị ARG có nhược điểm là không thể tồn tại sau khi hình ảnh đã được xây dựng. Để truyền dữ liệu môi trường nội tuyến khi tạo hình ảnh, chúng tôi sẽ chỉ sử dụng cả ENV và ARG. Trong hướng dẫn này, chúng tôi sẽ dạy bạn cách chuyển một biến môi trường vào vùng chứa docker.



Điều kiện tiên quyết

Để chuyển các biến môi trường vào vùng chứa docker, bạn phải cài đặt hệ thống Linux Ubuntu 20.04. Ngoài ra, hãy đảm bảo cài đặt phiên bản Docker cập nhật trên hệ thống của bạn. Trong trường hợp, nó không có trong hệ thống, bạn có thể thực hiện cài đặt nó bằng cách sử dụng lệnh được trích dẫn bên dưới.





$ sudo apt install docker.io

Trong toàn bộ hướng dẫn này, chúng tôi đã sử dụng từ khóa Sudo có nghĩa là bạn phải có đặc quyền sudo để chạy bài viết này.



Phương pháp chuyển các biến môi trường

Để chuyển các biến môi trường vào vùng chứa docker, bạn phải mở đầu cuối dòng lệnh bằng cách sử dụng phím tắt Ctrl + Alt + T hoặc bằng cách tìm kiếm nó trong menu ứng dụng bằng thanh tìm kiếm của nó. Bây giờ, hãy làm theo các bước được thêm vào bên dưới:

Bước 1: Kéo hình ảnh
Trong suốt hướng dẫn này, chúng tôi sẽ sử dụng Alpine, một hình ảnh Linux nhỏ (5MB). Để bắt đầu, tải xuống cục bộ hình ảnh bằng cách sử dụng lệnh nối sau:

$ sudo docker kéo alpine: 3

Kết quả hiển thị kéo hình ảnh thành công.

Bước 2: Chuyển các biến môi trường
Sử dụng cờ –env, chúng tôi có thể nhập các biến môi trường dưới dạng cặp khóa-giá trị ngay vào dấu nhắc lệnh khi khởi chạy vùng chứa Docker của chúng tôi. Hãy sử dụng lệnh nối sau làm hình minh họa:

$ sudo docker run --env VARIABLE1 = foobar alpine: 3

Sẽ không có đầu ra cụ thể cho lệnh này.

Bước 3: Phản ánh các biến môi trường
Để phản ánh các biến môi trường, hãy sử dụng lệnh nối sau cùng với xuất từ ​​khóa.

$ export VARIABLE2 = foobar2

Sẽ không có đầu ra cụ thể cho lệnh này.

Bước 4: Chỉ định các biến môi trường
Bây giờ, mà không cần chỉ định giá trị của biến môi trường, hãy xác định biến môi trường bằng cách sử dụng lệnh được liệt kê dưới đây trong terminal:

$ sudo docker run --env VARIABLE2 alpine: 3 env

Trong đầu ra, bạn có thể thấy rằng biến môi trường đã được chuyển thành công vào vùng chứa docker.

Phần kết luận

Trong bài viết này, chúng tôi đã thảo luận về khái niệm và tầm quan trọng của các biến môi trường trong docker. Ngoài ra, chúng tôi đã cung cấp cho bạn hướng dẫn từng bước để chuyển một biến môi trường vào vùng chứa docker. Tôi hy vọng bạn sẽ không gặp vấn đề gì khi chuyển biến môi trường vào vùng chứa docker.