Melewati argumen ke docker compose

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 
#or
docker-compose run  -e PORT=443
Komentar (2)

Anda dapat menggunakan flag ini ketika menggunakan build docker-compose

docker-compose build --build-arg PRODUCTION=VALUE

Di Dockerfile Anda bisa mendapatkan argumen PRODUCTION

# Dockerfile
ARG PRODUCTION
FROM node:latest
Komentar (0)

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

Komentar (0)