Jika saya menetapkan variabel lingkungan, katakanlah ENV ADDRESSEE=world
, dan saya ingin menggunakannya dalam skrip titik masuk yang digabungkan menjadi string tetap seperti:
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]
dengan world
menjadi nilai varible lingkungan, bagaimana cara melakukannya? Saya mencoba menggunakan "Hello, $ADDRESSEE"
tetapi tampaknya tidak berhasil, karena $ADDRESSEE
secara harfiah.
sumber
ENTRYPOINT java -jar /dockertest.jar -Djava.security.egd=file:/dev/./urandom -Dserver.port=$port
sementaraENV port=123
. Port ENV tidak diselesaikan. Ada ide mengapa?--attitude "shouting"
argumen kedocker run
perintah yang harus diteruskan ke./greeting
ENTRYPOINT ./greeting --message "Hello, $ADDRESSEE\! $0 $@"
jika Anda juga ingin meneruskan variabel tambahan ke./greeting
melaluidocker run
pemanggilan (atau meneruskanCMD
Dockerfile)greeting
dalam contoh Anda). hynek.me/articles/docker-signalsSaya mencoba menyelesaikan dengan jawaban yang disarankan dan masih mengalami beberapa masalah ...
Ini adalah solusi untuk masalah saya:
Secara khusus menargetkan masalah Anda:
sumber
Setelah banyak rasa sakit, dan bantuan besar dari @vitr dkk di atas, saya memutuskan untuk mencoba
dan itu berhasil.
misalnya
dan
keduanya mengatur port dengan benar di penampung saya
Referensi
lihat https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html
sumber