Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

Docker Registry – Aufbau eines privaten Docker Repositories

Veröffentlicht am 7. August 2019 von Christian Piazzi 1 Kommentar , Aktualisiert am 7. August 2019
Geschätzte Lesezeit: 2 Minuten

Docker Registry Titelbild - Schlüsselbund

Sowohl an der Arbeit wie auch Privat gibt es immer wieder die unterschiedlichsten Gründe, ein Docker Image nicht in den DockerHub zu laden. Will man trotzdem zum Beispiel mit seiner Arbeitsgruppe seine Docker Images auf einfache weise teilen, kann sich die Installation eines eigenen Docker Repositories lohnen. Genau Dafür kann man Docker Registry verwenden. Eleganter weise kann man auch Docker Registry in einem Container laufen lassen.

Weiterlesen

Kategorie: Big Data, DevOps, Docker, Linux Tags: Automatisierung, DevOps, Docker, Registry, repository

Docker Installation mit Ansible

Veröffentlicht am 22. Juni 2019 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 1. April 2020
Geschätzte Lesezeit: 2 Minuten

Docker ist schon seit einiger Zeit ein Thema für mich. Aus diesem Grund gibt es auch eine extra Menüeintrag für Docker, um diese Artikel schneller finden zu können.

Weiterlesen

Kategorie: Ansible, Docker Tags: Ansible, Docker, Role

Kafka Standalone Docker Container

Veröffentlicht am 24. Oktober 2018 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 24. Oktober 2018
Geschätzte Lesezeit: 2 Minuten

Nachdem wir nun wissen, wie man Kafka auf einem Raspberry Pi installieren kann, wollen wir nun das ganze auf einen Docker Container übertragen. Dafür werden wir im Laufe des Artikels einen Dockerfile erstellen, welches als Grundlage für den Dockercontainer dient. Die Konfigrurationsdateien die für das Setup verwendet wurden, sind bereits in dem Raspberry Pi Artikel erläutert.

Weiterlesen

Kategorie: Big Data, Docker Tags: Container, Docker, dockerfile, Kafka, Standalone, Startskript

Docker Container – anzeigen, starten, stoppen und löschen

Veröffentlicht am 13. Juli 2018 von Christian Piazzi 10 Kommentare , Aktualisiert am 25. April 2021
Geschätzte Lesezeit: 2 Minuten

In den vergangenen Artikel haben wir uns nun bereits einige Docker Themen angeschaut. Das ging über die Installation von Docker über Python Apps deployen bis zum Aufbau kleiner Microservices. Heute schauen wir uns mal alles rund um das Thema Docker Container an. Wie kann ich sie anzeigen, starten, stoppen oder auch von meine Host entfernen.

Weiterlesen

Kategorie: DevOps, Docker Tags: Container, display, Docker, ps, remove, start, stop

Docker Compose – Automatisiertes starten von Microservices

Veröffentlicht am 29. Juni 2018 von Christian Piazzi 3 Kommentare , Aktualisiert am 27. Oktober 2020
Geschätzte Lesezeit: 2 Minuten

Docker bind mounts - Gestapelte Container

Im Artikel Docker Microservices – Key-Value Store mit Python und Redis haben wir uns angeschaut, wie man mit Docker eine Microservices Setup realisieren kann. Da so ein Setup auch mehr wie zwei Docker Container enthalten kann, wollen wir uns in diesem Artikel damit beschäftigen, wie man eine Microservices Struktur mit hilfe von Docker Compose aufbauen kann.

Inhaltsverzeichnis

Was ist Docker Compose?

Unter Docker Compose versteht man die Funktion, mittels eines Datei (docker-compose.yml) einen Container mit Einstellungen und Abhängigkeiten zu versehen. Dabei kann zum Beispiel das Netzwerk konfiguriert werden, Mount Points für Netzlaufwerke gesetzt werden oder auch Links zu anderen Container hergestellt werden. Um den letzteren Punkt geht es uns hier in dem Artikel heute.

Wir wollen eine docker-compose.yml Datei für den Docker Container mit der Abfrage des Key-Value Stores anlegen. Beim Starten dieses Docker Containers soll automatisch Redis als Abhängigkeit gestartet werden. Wie das ganze im Detail aussieht schauen wir uns im nächsten Abschnitt etwas genauer an.

Anlegen eines docker-compose.yml für den Key-Value Store

Die docker-compose.yml legen wir im selben Ordner an, in dem auch das Dockerfile liegt. Die Datei wird anschließend mit dem folgenden Inhalt gefüllt:

1
2
3
4
5
6
7
8
version: '3'
services:
    dockerapp:
        build: .
        depends_on:
            - redis
    redis:
        image: redis:3.2.0

In der ersten Zeile hinterlegen wir hier die Version von Docker Compose. Diese könnt ihr mit dem folgenden Befehl ermitteln:

1
2
3
4
5
6
docker-compose version
 
docker-compose version 1.21.1, build 5a3f1a3
docker-py version: 3.3.0
CPython version: 3.6.4
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018

In der zweiten Zeile fangen wir dann mit der Definition des Microservices Setups an, in dem wir die einzelnen Services benennen.

Dabei beginnen wir mit dem Container, in dem das Python Script liegt. Dieser soll beim Ausführen der docker-compose.yml gebaut und gestartet werden.

In Zeile 5/6 legen wir dann die Abhängigkeit zum redis Container fest. Wichtig hierbei ist, dass wir auf einen Container verweisen, der nun weiter unten im docker-compose.yml noch definiert wird.

In Zeile 7/8 definieren wir dann den redis Container. Damit ist das anlegen der docker-compose Datei auch schon abgeschlossen.

Ausführen der Docker Compose Datei

Wir führen nun zum Starten des Setups die docker-compose.yml Datei aus. Dafür müssen wir uns in dem Ordner befinden, in dem diese Datei angelegt wurde. Hier wird die Datei dann mit docker-compose up ausgeführt. Das ganze sieht wie folgt aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
docker-compose up
Creating network "microservices_default" with the default driver
Building dockerapp
Step 1/7 : FROM python:3.6
---> 29d2f3226daf
Step 2/7 : RUN pip install redis
---> Using cache
---> 39cee31a4554
Step 3/7 : RUN useradd -ms /bin/bash modius
---> Using cache
---> 5560897ee61c
Step 4/7 : USER modius
---> Using cache
---> 56551ab66703
Step 5/7 : WORKDIR /app
---> Using cache
---> b7195ccc0dae
Step 6/7 : COPY app /app
---> bfd8b5b94cb6
Step 7/7 : CMD ["python","-u", "app.py"]
---> Running in cb1440e3f207
Removing intermediate container cb1440e3f207
---> 643347123f85
Successfully built 643347123f85
Successfully tagged microservices_dockerapp:latest
WARNING: Image for service dockerapp was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating microservices_redis_1 ... done
Creating microservices_dockerapp_1 ... done
Attaching to microservices_redis_1, microservices_dockerapp_1
redis_1      |                 _._
redis_1      |            _.-``__ ''-._
redis_1      |       _.-``    `.  `_.  ''-._           Redis 3.2.0 (00000000/0) 64 bit
redis_1      |   .-`` .-```.  ```\/    _.,_ ''-._
redis_1      |  (    '      ,       .-`  | `,    )     Running in standalone mode
redis_1      |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
redis_1      |  |    `-._   `._    /     _.-'    |     PID: 1
redis_1      |   `-._    `-._  `-./  _.-'    _.-'
redis_1      |  |`-._`-._    `-.__.-'    _.-'_.-'|
redis_1      |  |    `-._`-._        _.-'_.-'    |           http://redis.io
redis_1      |   `-._    `-._`-.__.-'_.-'    _.-'
redis_1      |  |`-._`-._    `-.__.-'    _.-'_.-'|
redis_1      |  |    `-._`-._        _.-'_.-'    |
redis_1      |   `-._    `-._`-.__.-'_.-'    _.-'
redis_1      |       `-._    `-.__.-'    _.-'
redis_1      |           `-._        _.-'
redis_1      |               `-.__.-'
redis_1      |
redis_1      | 1:M 26 Jun 13:19:38.404 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
redis_1      | 1:M 26 Jun 13:19:38.405 # Server started, Redis version 3.2.0
redis_1      | 1:M 26 Jun 13:19:38.405 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis_1      | 1:M 26 Jun 13:19:38.405 * The server is now ready to accept connections on port 6379
dockerapp_1  | b'bar'
microservices_dockerapp_1 exited with code 0

Das ausführen kann mit ctrl + c abgebrochen werden.

Nach diesem Prinzip kann man nun Microservice Setups beliebiger größe Aufbauen.

Kategorie: DevOps, Docker Tags: Compose, Docker, docker-compose.yml, Microservice, python, Redis

  • vorherige Seite
  • 1
  • 2
  • 3
  • nächste Seite

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Neueste Kommentare

  • Prometheus Installation unter Ubuntu - Modius - Techblog bei Prometheus Installation unter CentOS
  • Rainer bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos centos 7 CentOS7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2025 · Outreach Pro on Genesis Framework · WordPress · Anmelden