Ich bin mir bewusst, dass Docker-Container ein Datenvolumen teilen können, aber ist es ihnen möglich, Frameworks zu teilen? Zum Beispiel, wenn ich zwei .NET-Dienste auf IIS laufen lasse, kann ich einfach das Framework zwischen ihnen teilen?Können Container ein Framework teilen?
0
A
Antwort
2
Ja können Sie, was Sie in der Regel tun, ist
Alternative A:
ein Busybox Bild erstellen und kopieren Sie Ihre Rahmen, setzen sich die Position als Volumen VOLUME /opt/framework/
FROM alpine
COPY framework /opt/framework
VOLUME /opt/framework
COPY busyscript.sh /usr/local/bin/busyscript
RUN chmod +x /usr/local/bin/busyscript
CMD ["busyscript"]
Während die busyscript.sh
sieht wie
#!/bin/sh
#set -x
pid=0
# SIGTERM-handler
term_handler() {
if [ $pid -ne 0 ]; then
kill -SIGTERM "$pid"
wait "$pid"
fi
exit 143; # 128 + 15 -- SIGTERM
}
# setup handlers
# on callback, kill the last background process, which is `tail -f /dev/null` and execute the specified handler
trap 'kill ${!}; term_handler' SIGTERM
echo "Started code"
# wait forever
while true
do
tail -f /dev/null & wait ${!}
done
aus
Dieses Bild als Dienst in Ihrem Docker-compose.yml als "Rahmen" können sagen, dann, auf die Dienste, die Sie ihnen Sie konsumieren wollen,
volume_from
- framework:ro
Pros hinzufügen:
- können Sie kompilieren, erstellen und bereitstellen, die Framworks soley
- gibt es mehr oder weniger kein Laufzeitaufwand für den Betrieb dieser zusätzlichen Behälter
Con:
- Bildgröße Overhead (alpin, 30mb)
Alternative B verwenden Sie einen Ihrer Services als "Rahmenbasis", lässt Dienst A sagen, das bedeutet, Sie kopieren Sie den Rahmen für diesen Dienst (einer der 2 raubend es) und wieder auch VOLUME /opt/framework
verwenden, um es
im Dienst B als Volumen aussetzen, die gleiche Art und Weise, Sie montieren die Lautstärke
serviceB:
volume_from
- serviceA:ro
Pro:
- kein zusätzlicher Behälter
Con:
- Rahmen muss mit serviceA eingesetzt werden, wäre egal Service A benötigen Updates
- Sie haben eine Abhängigkeit von A, braucht A ein Update Alle anderen Container müssen aufgrund der Freigabe neu erstellt werden.
Verwandte Themen
- 1. Können Sie ein Schluck-Framework zwischen Projekten teilen?
- 2. Zeitzone des Hosts mit Andock-Container teilen
- 3. Bestehendes Host-Verzeichnis mit Docker-Container teilen?
- 4. So teilen Bootstrap Körper in schwimmende Container
- 5. VPC-Netzwerke mit Google Container Engine teilen
- 6. Können Sie Bootstrap-Container verschachteln?
- 7. 2 AtomicReferences können falsch teilen?
- 8. Über mehrere Container im Frühjahr Framework
- 9. Ein ORM zwischen Sprachen teilen
- 10. Können Sie Daten auf CloudKit zwischen verschiedenen Anwendungen teilen
- 11. Text auf Xamarin-Formular nicht teilen können
- 12. Resharper Ruleset, können wir sie teilen?
- 13. Können 2 Klassen eine Freundesfunktion teilen?
- 14. Können zwei verschiedene Clients Cookies teilen?
- 15. IoC/DI-Container, der Compact Framework unterstützt
- 16. Internals Spring Framework und andere IoC Container
- 17. Können Sie ein Application Framework für Windows Forms empfehlen?
- 18. C++ Ist ein std :: string ein Container?
- 19. Können mehrere Docker-Container mit demselben Host/Port ausgeführt werden?
- 20. ein Verfahren teilen
- 21. Ein Div-Element teilen
- 22. persistent und teilen Daten von Docker Mungo Container (mit Docker)
- 23. Bootstrap-Container können nicht nebeneinander ausgerichtet werden
- 24. Verknüpfte Docker-Container können nicht miteinander kommunizieren
- 25. So teilen Sie ein Nicht-Speicher-USB-Gerät zwischen Host und Container unter OSX
- 26. Wie teilen Eltern (Host) Projekt Pod mit Framework Projekt swift?
- 27. Können Sie .NET Framework auf Mac installieren?
- 28. Teilen ein Singleton über Module
- 29. Ein Wort in Längenkombination teilen
- 30. Ein Video mit Facebook teilen
Super! Vielen Dank –