Ubuntu: Docker und Docker-Compose installieren (Script)


Docker Installation über Bash Script für Ubuntu / Debian Linux:


wget https://raw.githubusercontent.com/ManuelReschke/linux-helper/master/ubuntu/docker/install-update.sh; chmod +x install-update.sh; sudo ./install-update.sh

Danach könnt ihr direkt überprüfen ob alles geklappt hat:
docker -v

// Ausgabe könnte so aussehen
Docker version 18.09.3, build 774a1f4

Ausführen und Fertig!
So schnell kann man Docker und Docker Compose installieren.

Wer noch ein wenig mehr über das Thema erfahren möchte kann jetzt einfach weiterlesen. Allen anderen wünsche ich viel Erfolg bei Ihren Projekten.

Warum eigentlich Docker?

Bei der Softwareentwicklung heutzutage möchte man schnelle, wiederverwendbare und funktionale Lösungen für fast alle Bereiche. Die meisten Entwickler kennen vermutlich noch das mühselige installieren und einrichten der passenden Entwicklungsumgebung. Diesen Zeitaufwendigen und nervtötenden Schritt kann man mit Docker lösen. Docker dient zur Containervirtualisierung, dass bedeutet ungefähr soviel das man einzelnen Programme oder Anwendungen in einen separaten isolierten Container auf dem jeweiligen Betriebssystem ausführen kann. z.B. installieren wir PHP in einem Docker Container und starten diesen dann um mit PHP zum Beispiel zu entwickeln. Die Möglichkeiten sind Vielfältig. Wer mehr darüber erfahren möchte kann gern den Wikipedia Artikel dazu durchlesen.

Installations Script im Detail

Den Quellcode dafür findet ihr im Github unter folgendem Link: Github Link
Aber ich werde Ihn auch noch einmal hier posten.

#!/usr/bin/env bash

#################
##### Config ####
#################

# possible stable, test, and nightly
DOCKER_CHANNEL="stable"

# latest 1.22.0 -> https://docs.docker.com/release-notes/docker-compose/
DOCKER_COMPOSE_VERSION="1.23.2"

#########################
## Remove old Versions ##
#########################

sudo apt-get purge -y docker-ce
sudo rm -rf /var/lib/docker
sudo rm /usr/local/bin/docker-compose

#########################
# Install/Update Docker #
#########################

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) $DOCKER_CHANNEL"

sudo apt-get update

sudo apt-get install docker-ce

#################################
# Install/Update Docker Compose #
#################################

sudo curl -L "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

# show versions
sudo docker --version
sudo docker-compose --version

###############################
# create and add docker group #
###############################

sudo groupadd docker
sudo usermod -aG docker $USER


Ich glaube die Befehle an sich erklären sich von selbst. Auf jedenfall könnt Ihr so eure Docker und Docker-Compose Version aktualisieren oder frisch installieren.

In diesem Sinne viel Spaß damit.

Debian SSL / HTTPS mit Apache2 einrichten

Einleitung

Hi,
seit der weltweiten Überwachung der NSA wissen wir alle das Verschlüsselung wichtig ist. Wie Ihr selbst HTTPS auf eurer Seite einrichtet zeige ich heute in einem kurzen Tutorial. Ich weise noch mal darauf hin das selbst erstellte Zertifikate bitte nur Lokal und zu Testzwecken genutzt werden sollten. Ok dann lasst uns beginnen.

Voraussetzungen:

Ihr benötigt Debian mit installiertem OpenSSL Modul und den Apache2 Webserver. Den Rest werden wir hier zusammen installieren.

SSL Zertifikat erstellen / generieren

Mit Hilfe von OpenSSL können wir uns in relativ wenigen Schritten ein eigenes Zertifikat erstellen.

1. Ordner zum speichern des Zertifikates erstellen und dorthin wechseln

mkdir /etc/apache2/ssl
cd /etc/apache2/ssl

3. Jetzt erstellen wir unseren privaten Key

openssl genrsa -out sslcert.key 2048

4. Aus dem Key generieren wir nun eine CSR Datei (Zertifizierungsanforderung oder auch engl. Certificate Signing Request). Diese enthält vereinfacht gesagt die Zertifikats Informationen.

openssl req -new -key sslcert.key -out sslcert.csr

Anschließend muss eine Reihe von Informationen eingegeben werden. In unserem Fall geben wir bei "CommonName" localhost ein da wir das Zertifikat für eine lokale Entwicklungsumgebung erstellen. Sie können auch alle anderen Felder leer lassen und diese mit "Enter" überspringen.

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

5. Jetzt können wir aus der CSR Datei unser Zertifikat generieren. Die Gültigkeitsdauer des Zertifikates kann mit dem Parameter -days angegeben werden. In unserem Fall ist es 1 Jahr gültig.

openssl x509 -req -days 365 -in sslcert.csr -signkey sslcert.key -out sslcert.crt

Apache2 konfigurieren

1. Damit der Apache2 Webserver mit dem Zertifikat umgehen kann aktivieren wir zu nächst das "SSL Modul".

a2enmod ssl

2. Damit der Apache auf auf dem richtigen Port lauscht überprüfen wir die "ports.conf" im Ordner /etc/apache2/

cat /etc/apache2/ports.conf

Die Datei sollte in etwa so aussehen. Wichtig ist das auf Port 443 gelauscht wird.
Listen 80


        Listen 443



        Listen 443



3. Jetzt erstellen wir noch eine neue Vhost Config für den SSL Port.

nano /etc/apache2/sites-available/application-ssl.conf

Diese füllen wir dann mit folgendem Inhalt:

    DocumentRoot /var/www/application/public

    ErrorLog /var/www/application/log/error.log
    CustomLog /var/www/application/log/access.log combined

    SSLEngine on
    SSLCertificateKeyFile /etc/apache2/ssl/sslcert.key
    SSLCertificateFile /etc/apache2/ssl/sslcert.crt

    

        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted

    


4. Im letzten Schritt starten wir Apache neu

service apache2 restart

Eure Seite sollte jetzt über https aufrufbar sein. Die Sicherheitswarnung im Firefox / Chrome sind normal, diese könnt Ihr einfach akzeptieren. Ich empfehle euch aber diese Konfiguration nur für Lokale Entwicklungsumgebungen! Für produktive Umgebungen bitte noch mal gründlich in SSL einlesen und ein Zertifikat von einem anerkannten Zertifikatsanbieter nehmen.