Docker: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 20: Zeile 20:
  
 
   mkdir wheezyBaseFiles
 
   mkdir wheezyBaseFiles
   sudo debootstrap wheezy wheezyBaseFiles
+
   sudo debootstrap --variant=minbase wheezy wheezyBaseFiles
  
 
Anschließend wird die komplette Verzeichnisstruktur in ein tar-Archiv gepackt und über eine Linux-[[Pipe]] sofort in docker importiert:
 
Anschließend wird die komplette Verzeichnisstruktur in ein tar-Archiv gepackt und über eine Linux-[[Pipe]] sofort in docker importiert:
  
   sudo tar -C wheezyBaseFiles -c . | docker import - wheezy_base
+
   sudo tar -C wheezyBaseFiles -c . | docker import - myuser/wheezy_base
  
 
Kleiner Test:
 
Kleiner Test:
   docker run wheezy_base cat /etc/os-release
+
   docker run myuser/wheezy_base cat /etc/os-release
 +
oder die Shell starten mit
 +
  docker run -t -i myuser/wheezy_base /bin/bash
 +
 
 +
Braucht man eine zweite Shell für einen laufenden Container, sucht man zunächst den Containernamen
 +
  docker ps
 +
Dann startet man die [[Bash]] das zweite Mal:
 +
  docker exec -t -i myuser/wheezy_base /bin/bash
  
 
== Ausführen einer Shell ==
 
== Ausführen einer Shell ==

Version vom 19. April 2016, 17:44 Uhr

Docker ist eine Container-Lösung, eine Art "leichte" Virtualisierung.

Installation

 sudo aptitude install lxc apparmor docker.io
 sudo addgroup USER docker
 docker info

Speicherort für Images etc. umhängen

Mit

 docker info

kann man sich anzeigen lassen, wo Docker Images u.Ä. abspeichert. In der /etc/fstab kann man das auf einen Ordner einer anderen Partition umhängen:

 /media/anderePartiton/aufsRoot /var/lib/docker/aufs	none	bind 0 0

Erstellen eines eigenen Basis-Images

Auf Ubuntu / Debian-Basis lässt sich mit Hilfe von debootstrap und tar ein Basisimage erstellen. Siehe dazu die Docker-Anleitung.

Dazu erstellt man die Grundstruktur des neuen Systems mit debootstrap:

 mkdir wheezyBaseFiles
 sudo debootstrap --variant=minbase wheezy wheezyBaseFiles

Anschließend wird die komplette Verzeichnisstruktur in ein tar-Archiv gepackt und über eine Linux-Pipe sofort in docker importiert:

 sudo tar -C wheezyBaseFiles -c . | docker import - myuser/wheezy_base

Kleiner Test:

 docker run myuser/wheezy_base cat /etc/os-release

oder die Shell starten mit

 docker run -t -i myuser/wheezy_base /bin/bash

Braucht man eine zweite Shell für einen laufenden Container, sucht man zunächst den Containernamen

 docker ps 

Dann startet man die Bash das zweite Mal:

 docker exec -t -i myuser/wheezy_base /bin/bash

Ausführen einer Shell

Mittels der Flags -i (für interaktiv) und -t (für Binden von stdin und stdout ans Terminal) lässt sich auch eine interaktive Shell ausführen.

 docker run -i -t wheezy_base /bin/bash