Änderungen

Zur Navigation springen Zur Suche springen
1.997 Bytes hinzugefügt ,  13:10, 23. Jul. 2024
Zeile 3: Zeile 3:  
== Installation ==
 
== Installation ==
    +
==== Installation unter Debian 9 Stretch ====
 +
 +
Siehe
 +
* https://linuxconfig.org/how-to-install-docker-engine-on-debian-9-stretch-linux
 +
 +
 +
==== Installation unter Ubuntu ====
 
   sudo aptitude install lxc apparmor docker.io
 
   sudo aptitude install lxc apparmor docker.io
 
   sudo addgroup USER docker
 
   sudo addgroup USER docker
Zeile 12: Zeile 19:  
kann man sich anzeigen lassen, wo Docker Images u.Ä. abspeichert. In der <code>/etc/fstab</code> kann man das auf einen Ordner einer anderen Partition umhängen:
 
kann man sich anzeigen lassen, wo Docker Images u.Ä. abspeichert. In der <code>/etc/fstab</code> kann man das auf einen Ordner einer anderen Partition umhängen:
 
   /media/anderePartiton/aufsRoot /var/lib/docker/aufs none bind 0 0
 
   /media/anderePartiton/aufsRoot /var/lib/docker/aufs none bind 0 0
 +
 +
 +
Alternativ gibt man in der Datei <code>/etc/default/docker</code> in den <code>DOCKER_OPTS</code> den zusätzlichen Parameter <code>-g</code> an. Beispiel:
 +
  DOCKER_OPTS="-g /mnt/mybigdata/dockerroot"
    
== Erstellen eines eigenen Basis-Images ==
 
== Erstellen eines eigenen Basis-Images ==
Zeile 85: Zeile 96:  
   docker run -p 4304:4304 myimage
 
   docker run -p 4304:4304 myimage
   −
Leider scheint es Probleme mit IPv4-Adressen des Hosts zu geben. Abhilfe schafft in kleineren Fällen die Option <code>--net=host</code>.
+
Leider scheint es Probleme mit IPv4-Adressen des Hosts zu geben. Abhilfe schafft in kleineren Fällen die Option <code>--net=host</code>. Diese sollte aber aus Sicherheitsgründen vermieden werden, weil damit von außen voller Zugriff auf alle Ports des Containers gegeben wird.
 +
 
 +
=== Docker und IPv6 ===
 +
 
 +
Docker hat standardmäßig die IPv6-Unterstützung nicht eingeschaltet. Das kann man aber
 +
machen:
 +
* https://docs.docker.com/config/daemon/ipv6/
 +
* https://gdevillele.github.io/engine/userguide/networking/default_network/ipv6/
 +
* https://medium.com/@skleeschulte/how-to-enable-ipv6-for-docker-containers-on-ubuntu-18-04-c68394a219a2
 +
* https://dev.to/joeneville_/build-a-docker-ipv6-network-dfj
 +
 
 +
== Docker updates ==
 +
 
 +
Auch Docker container müssen auf neue Versionen überwacht werden.
 +
 
 +
=== Monitoring container updates ===
 +
 
 +
Mit [https://fmartinou.github.io/whats-up-docker/#/ What's up Docker] kann man sich z.B. eine Email zuschicken lassen, wenn ein Container-Image upgedatet wurde.
    
== Troubleshooting Docker ==
 
== Troubleshooting Docker ==
 +
 +
=== SystemD läuft nicht ===
 +
 +
Es gibt grundsätzlich zwei Möglichkeiten, [[systemd]]-services bereitzustellen:
 +
 +
* SystemD installieren und viel Funktionalität zu entfernen oder
 +
* https://github.com/gdraheim/docker-systemctl-replacement
 +
 
=== Chrome/Chromium startet nicht ===
 
=== Chrome/Chromium startet nicht ===
   −
Wenn Chrome nicht startet, hilft das Argument <code>--no-sandbox</code>.<ref>Siehe https://github.com/wechaty/wechaty/issues/26</ref>
+
Wenn Chrome nicht startet (Fehlermeldung: <small>Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted</small>), hilft das Argument <code>--no-sandbox</code>.<ref>Siehe https://github.com/wechaty/wechaty/issues/26</ref>
 +
 
 +
== Einzelne Images ==
 +
 
 +
=== MySQL-Image ===
 +
 
 +
Siehe für ein einfaches Dockerfile für einen [[MySQL]]-Container:
 +
* https://entwickler.de/online/docker-am-praktischen-beispiel-mit-wordpress-150107.html
 +
 
 +
Wenn MySQL nicht mit
 +
  mysqld
 +
startet, kann es daran liegen, dass der Socket nicht erstellt werden kann. Dann:
 +
  mkdir /var/run/mysqld/
 +
  chmod a+w /var/run/mysqld/
 +
 
    
-----
 
-----

Navigationsmenü