Dalam file docker compose saya, ada bidang dinamis yang ingin saya hasilkan selama berjalan. Sebenarnya ini adalah templat string:
environment:
- SERVER_URL:https://0.0.0.0:${PORT}
Dan saya ingin mengkonfigurasi parameter PORT
ini secara dinamis
docker-compose run <service> PORT=443
Dalam dokumentasi ada parameter ARGS
yang saya kira bisa saya gunakan. Tetapi tidak ada informasi bagaimana saya bisa menggunakan parameter tersebut di dalam file compose
Di docker-compose, argumen tersedia dan hanya berguna di dockerfile
. Anda dapat menentukan apa yang Anda lakukan di level depan seperti berikut ini:
#dockerfile
ARG PORT
ENV SERVER_URL "https://0.0.0.0:$PORT"
Port Anda dapat diatur di docker-compose.yml Anda:
build:
context: .
args:
- PORT=443
Ini sebenarnya adalah variabel lingkungan dalam hal apa pun. Anda dapat meneruskannya melalui perintah jalankan jika itu cocok untuk Anda:
PORT=443 docker-compose run <service>
#or
docker-compose run <service> -e PORT=443
Hal ini dimungkinkan dengan stack deploy
Contoh File Compose di bagian lingkungan Anda:
- MY_VARIABLE_NAME=${MY_VARIABLE_VALUE}
Perintah Stack Deploy (saya menjalankan ini dari Gitbash di Windows):
MY_VARIABLE_VALUE=some-value docker stack deploy --compose-file compose_file_here stackname
Referensi Lihat postingan Github ini di sini