Wiederverwendbares Docker-Bild für AngularJS

Wir haben eine AngularJS-Anwendung. Wir haben ein Dockerfile dafür geschrieben, damit es auf jedem System wiederverwendbar ist. Die Docker-Datei ist keine bewährte Methode, und für einige ist es vielleicht ein seltsamer Aufbau (Erstellen und Hosten in derselben Datei), aber sie wurde nur erstellt, um unsere anglejs-App lokal auf jedem PC eines jeden Entwicklers auszuführen.

Dockerfile:
FROM nginx:1.10

... Steps to install nodejs-legacy + npm

RUN npm install -g gulp
RUN npm install
RUN gulp build  

.. steps to move dist folder

Wir bauen unser Image mitdocker build -t myapp:latest . Jeder Entwickler kann unsere App mit @ ausführedocker run -d -p 80:80 myapp:latest

Aber jetzt entwickeln wir andere Backends. Wir haben also ein Backend in DEV, ein Backend in UAT, ... Es gibt also verschiedene URLs, die wir in @ verwenden müsse/config/xx.json

{
  ...
  "service_base": "https://backend.test.xxx/",
  ...
}

Wir möchten diese URL nicht jedes Mal ändern, das Bild neu erstellen und starten. Wir möchten auch keine URLs (dev, uat, prod, ..) deklarieren, die dort verwendet werden können. Wir wollen unser @ durchführgulp build Prozess mit einer Umgebungsvariablen anstelle einer fest codierten URL.

So können wir unseren Container wie folgt starten:

docker run -d -p 80:80 --env URL=https://mybackendurl.com app:latest

Gibt es jemanden, der Erfahrung mit solchen Problemen hat? Wir brauchen also eine env-Variable in unserem json und bauen sie auf und fügen die URL später hinzu, wenn das möglich ist.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage