Tôi có các dòng sau trong Dockerfile nơi tôi muốn đặt giá trị trong tệp cấu hình thành giá trị mặc định trước khi ứng dụng khởi động ở cuối và cung cấp tùy chọn cài đặt bằng tùy chọn -e
khi bắt đầu container.Chuyển biến từ vùng chứa sang tập tin
Tôi cố gắng để làm ENV
commando này sử dụng Docker của
ENV CONFIG_VALUE default_value
RUN sed -i 's/CONFIG_VALUE/'"$CONFIG_VALUE"'/g' CONFIG_FILE
CMD command_to_start_app
Tôi có chuỗi CONFIG_VALUE một cách rõ ràng trong file CONFIG_FILE và giá trị mặc định từ Dockerfile được thay thế một cách chính xác. Tuy nhiên, khi tôi chạy thùng chứa với -e CONFIG_VALUE=100
việc thay thế không được thực hiện, giá trị mặc định được đặt trong Dockerfile được giữ lại.
Khi tôi làm
docker exec -i -t container_name bash
và echo $CONFIG_VALUE
bên trong container biến môi trường có chứa giá trị mong muốn 100.
Cảm ơn, do tỷ lệ của ví dụ của bạn đã giúp tôi 'thoát' biến môi trường cho sed một cách chính xác (bằng cách loại trừ phần bằng ''). – sebkraemer