Docker auf Debian 8 Jessie

Wir Installieren Heute mal den auf einen Debian Jessie und die Docker erweiterung  aus den Offiziellen Repository.

Zuerst Installieren wir den Debian Server von der minimal CD (amd64), in meiner Konfiguration benutze ich die Spiegelserver aus Deutschland.

 

Debian Spiegelserver auswahl

Debian Spiegelserver Landeswahl

 

in der Software Auswahl wählen wir nur die Standard-Systemwerkzeuge und den ssh Server

 

Debian Jessie Software Auswahl während der installation

Einen bootloader auswählen und den Startpfad auswählen

 

Debian Jessie Installation Bootloader

in unserem Beispiel nehmen wir /dev/sda

Debian  Jessie Installation Bootloader-pfad

Damit sollte die Grund Installation Fertig sein.

 

 

nach den ersten Boot Loggen wir und zuerst mal in die Console eine und schauen nach der vom DHCP vergebenen ip-adresse.

Die Ip Adresse können wir mit ifconfig abfragen

Nun können wir uns mit unserem Benutzer per SSH einloggen das vereinfacht die arbeit.

da der Login als root Benutzer standardmässig gesperrt ist kann man sich mit dem während der Installation erstellten Benutzer einloggen, dieser Benutzer hat aber nicht genügend Berechtigungen für die folgenden installationen, daher wechsel ich in den root Benutzer mit den befehl 

su -l root 

zuerst kontrolliere ich den Installierten Kernel mit

root@debdoc:~# uname -r
3.16.0-4-amd64

Jetzt Aktuallisiere ich zunächst das Betriebssystem mit 

root@debdoc:~# apt-get update && apt-get upgrade && apt-get dist-upgrade
OK   http://security.debian.org jessie/updates InRelease
Ign http://ftp.de.debian.org jessie InRelease
OK   http://ftp.de.debian.org jessie-updates InRelease
OK   http://ftp.de.debian.org jessie Release.gpg
OK   http://ftp.de.debian.org jessie Release
OK   http://security.debian.org jessie/updates/main Sources
OK   http://security.debian.org jessie/updates/main amd64 Packages
OK   http://ftp.de.debian.org jessie-updates/main Sources
OK   http://security.debian.org jessie/updates/main Translation-en
Holen: 1 http://ftp.de.debian.org jessie-updates/main amd64 Packages/DiffIndex [7.900 B]
Holen: 2 http://ftp.de.debian.org jessie-updates/main Translation-en/DiffIndex [2.704 B]
OK   http://ftp.de.debian.org jessie/main Sources
OK   http://ftp.de.debian.org jessie/main amd64 Packages
OK   http://ftp.de.debian.org jessie/main Translation-de_DE
OK   http://ftp.de.debian.org jessie/main Translation-de
OK   http://ftp.de.debian.org jessie/main Translation-en
Es wurden 10,6 kB in 8 s geholt (1.200 B/s).
Paketlisten werden gelesen... Fertig
-su: sudo: Kommando nicht gefunden.
root@debdoc:~# apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
root@debdoc:~# apt-get dist-upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

 

 

Für die weitere Installation aus den Respository von dockerproject.org muss der apt key installiert werden.



root@debdoc:~# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.plqarhcrPv --no-auto-check-trustdb --trust-model always --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
gpg: fordere Schlüssel 2C52609D von hkp-Server p80.pool.sks-keyservers.net an
gpg: Schlüssel 2C52609D: Öffentlicher Schlüssel "Docker Release Tool (releasedocker) <docker@docker.com>" importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg:                              importiert: 1  (RSA: 1)

 

Für die Docker Spiegelserver legen wir eine neue source datei an. mit dem Inhalt des Docker Spiegelservers deb https://apt.dockerproject.org/repo debian-jessie main

touch /etc/apt/sources.list.d/docker.list

sh -c "echo deb https://apt.dockerproject.org/repo debian-jessie main > /etc/apt/sources.list.d/docker.list"

damit der apt mit https Spiegelserver zusammenarbeitet installieren wir die voraussetzungen dafür 

 

apt-get install apt-transport-https ca-certificates

Jetzt können wir nach dem wir die Sourcen geupdatet haben den Docker Service Installieren.

apt-get install update 

apt-cache policy docker-engine
apt-get install docker-engine

um den docker service einem eigenen User und Gruppe laufen zu lassen erstellen wir eine Gruppe Docker und ordnen den dienst da zu.

 

group add docker
groupadd docker
gpasswd -a $USER docker
service docker restart

systemctl start dockerWir starten den Docker service 

und stellen den Docker Service in den autostart 

systemctl enable docker

jetzt testen wir den Docker Service 

systemctl status docker

das ergebniss sollte so aussehen 


#docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled)
   Active: active (running) since Fr 2017-04-28 15:37:42 CEST; 21min ago
     Docs: https://docs.docker.com
 Main PID: 3305 (dockerd)
   CGroup: /system.slice/docker.service
           ├─3305 /usr/bin/dockerd -H fd://
           └─3316 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/...

Apr 28 15:37:42 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:37:42 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:37:42 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:37:42 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:45:18 debdoc systemd[1]: Started Docker Application Container Engine.
Apr 28 15:45:39 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:45:39 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:45:39 debdoc systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Apr 28 15:46:12 debdoc dockerd[3305]: time="2017-04-28T15:46:12.482535385+02:00" level=error msg="Handler for POST /v1.28/containers/create returned error: No such image...orld:latest"
Apr 28 15:46:15 debdoc dockerd[3305]: time="2017-04-28T15:46:15.543694484+02:00" level=error msg="containerd: notify OOM events" error="cgroup path for memory not found"
Hint: Some lines were ellipsized, use -l to show in full.

 

Docker versions check mit 

 

root@debdoc:~# docker --version
Docker version 17.04.0-ce, build 4845c56

als nächstes bnötigen wir das curls packet 

apt-get install curl

Wir laden uns die  docker-compose binary from Github und speichern es uns in  /usr/local/bin/docker-compose ab.

 

curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

und machen uns den Inhalt des Ordner Ausführbar 

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

Eine Kontrolle vom Docker-Compose 

root@debdoc:~# docker-compose --version

mit den Ergebnis  

docker-compose version 1.7.0, build 0d7bf73

 

Damit sollte die Docker Installation auf Debian Jessie fullständig sein.