Wir haben ein Docker-Projekt, das von Entwicklern mit Windows, Mac oder Linux geteilt wird.Dockerfile: überprüfen, ob Build-Maschine Windows ist
Leider können wir nicht control the way the project is cloned, so dass Windows-Entwickler am Ende mit schlechten Zeilenenden beim Erstellen des Docker-Image enden und der Build kann deswegen fehlschlagen.
um dieses Problem zu beheben, haben wir eine Linie in unsere Dockerfile hinzugefügt alle Windows-Zeilenende mit Unix-Zeilenenden zu ersetzen, bevor der Build-Prozess gestartet wird:
ADD . /app
RUN find . -type f -exec sed -i 's/\x0d//g' {} \+
Aber das Problem ist, ist die Build jetzt viel langsamer, sogar auf Linux- und Mac-Boxen.
Ich möchte RUN
diesen Befehl nur, wenn der Build auf einer Windows-Maschine geschieht. Aber gibt es eine Möglichkeit für die Dockerfile das zu erkennen?