-
Images bauen
make docker
-
ein (Docker)-Netzwerk
actors
erzeugendocker network create actors
-
Starten des Tree-Services und binden an den Port 8090 des Containers mit dem DNS-Namen
treeservice
(entspricht dem Argument von--name
) im Netzwerkactors
:docker run --rm --net actors --name treeservice treeservice \ --bind="treeservice.actors:8090"
Damit das funktioniert, müssen Sie folgendes erst im Tree-Service implementieren:
- die
main
verarbeitet Kommandozeilenflags und - der Remote-Actor nutzt den Wert des Flags
- wenn Sie einen anderen Port als
8090
benutzen wollen, müssen Sie das auch im Dockerfile ändern (EXPOSE...
)
- die
-
Starten des Tree-CLI, Binden an
treecli.actors:8091
und nutzen des Services unter dem Namen und Porttreeservice.actors:8090
:docker run --rm --net actors --name treecli treecli --bind="treecli.actors:8091" \ --remote="treeservice.actors:8090" trees
Hier sind wieder die beiden Flags
--bind
und--remote
beliebig gewählt und in der Dateitreeservice/main.go
implementiert.trees
ist ein weiteres Kommandozeilenargument, dass z.B. eine Liste aller Tree-Ids anzeigen soll.Zum Ausprobieren können Sie den Service dann laufen lassen. Das CLI soll ja jedes Mal nur einen Befehl abarbeiten und wird dann neu gestartet.
-
Zum Beenden, killen Sie einfach den Tree-Service-Container mit
Ctrl-C
und löschen Sie das Netzwerk mitdocker network rm actors
Nach einem Commit baut der Jenkins, wenn alles durch gelaufen ist, die beiden
Docker-Images. Sie können diese dann mit docker pull
herunter laden. Schauen Sie für die
genaue Bezeichnung in die Consolenausgabe des Jenkins-Jobs.
Wenn Sie die Imagenamen oben (treeservice
und treecli
) durch die Namen aus der
Registry ersetzen, können Sie Ihre Lösung mit den selben Kommandos wie oben beschrieben,
ausprobieren.