Docker  
Suche: 

Kinder

Informatik und Computer

Elektronik

Segeln

Musik

Lego

Kochen

4x4 Wohnmobil

4x4 Wohnmobil V2.0

Bootsanhänger

Andere Basteleien

Linksammlung

Projekte

Merkzettel

Impressum


User
Password

Docker

Installationsanleitung für ubuntu 16.04

Docker

Ausführliche Anleitung findet man unter folgendem Link: http://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04 https://www.digitalocean.com/community/tutorials/so-installieren-und-verwenden-sie-docker-auf-ubuntu-18-04-de

Die Kommandos in Kurzform:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
apt-cache policy docker-ce
sudo apt-get install -y docker-ce
sudo systemctl status docker

Und damit man docker nicht über sudo starten muss:

sudo usermod -aG docker ${USER}

Docker Compose

sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Prinzip von Docker

Anleitung

Container

docker run 
ParameterBedeutungBeispiel
-it Interaktiven Container starten docker -it ubuntu:16:04 /bin/bash
-P Veröffentlichung alle Ports innerhalb des Containers als anonyme Ports (49153 bis 65535) auf dem Docker Host.  
-p h:c Port-Mapping Der Port h wird innerhalb des Containers auf Port c verwendet. 
-v h:c Volume-Mapping von Pfad h auf dem Host auf den Pfad c im Container  
--device=h:c Device Mapping Devicepfad h des Hosts auf den Devicepfad c innerhalb des Containers --device/dev/video1dev/video0 Das Video-Device 1 wird innerhalb des Containers als /dev/video0 sichtbar
-e Environmentvariable setzen -e {Name}={Wert}
-u uid[:gid] Verwende den User/Gruppe des Hosts  
-d Run container in daemon mode  
--hostname GIVEN–NAME specifies givenname_ as hostname of the container  
--network specifies the docker-network to join  
--ip specifies the ip-address of the container (must be compatible to the network) 
--name specifies a name of the container  

Quelle: http://docs.docker.com/engine/reference/commandline/run/

Container für GUI-Anwendungen

xhost +local:docker
docker run -it --device=/dev/video0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY {image} [/bin/bash]

Container verwalten

docker ps
ParameterBedeutungBeispiel
-qNur die Container-ID auflistendocker ps -a -q
-aAlle Container anzeigen (auch die, die nicht laufen 

Alle Container anzeigen

docker ps -a [-q]

Ungenutzte Container löschen

docker rm $(docker ps -a -q)

Container Infos abrufen

docker inspect CONTAINER-ID

Eigene IP-Adresse

Quelle:

Docker Network

offizielle Docker doku zu network

Create Network

docker network create NETWORK-ID
ParameterBedeutungBeispiel
--subnet 192.168.10.1/24   
   
   
   
   

Network Übersicht

docker network ls

IP-Adresse eine COntainers in einem Netzwerk

docker inspect my-nginx | grep "IPAddress"

Docker Images

Verwalten

Auflisten aller Images

docker images

Image löschen

docker rmi [-f] {image-id}

Ungenutzte Images löschen

docker images prune

oder

docker rmi $(docker images -q -f dangling=true)   

ggf.

sudo docker rmi $(sudo docker images -q -f dangling=true)

Ungenutzte Images anzeigen

docker images --filter "dangling=true"

Erstellen

Plugins für Volumes

Volumes

docker volume create \
    --name mynfs \
    --opt type=nfs \
    --opt device=: \
    --opt o=addr= \
    mynfs
docker run -it -v mynfs:/foo alpine sh

Plugins

Verfügbare Plugins anzeigen

docker plugins

Plugin Installieren

docker plugin install {plugin-name} 

cloud.docker.com

Spezielle Einstellungen

Links

Weiterer Lesestoff

Netzwerk

Hilfreiche Aliases rund um Docker

Unter Linux kann man sich Aliases definieren, um sich das Leben mit den docker-CLI zu erleichtern.

# -------------
alias docker-clean-unused='docker system prune --all --force --volumes'
alias docker-clean-all='docker stop $(docker container ls -a -q) && docker system prune -a -f --volumes'
alias docker-clean-containers='docker container stop $(docker container ls -a -q) && docker container rm $(docker container ls -a -q)'
# -------------

Beispielimages

Wildfly

Raspberry PI

Gängige Docker-images

Docker Registry

http://docs.docker.com/registry/introduction/

MYSQL Docker

docker run -d --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_HOST=% -e MYSQL_ROOT_PASSWORD=test mysql/mysql-server

Anmelden um Passwort zu ändern:

docker exec -it mysql mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

Mosquitto

docker run -it -p 1883:1883 -p 9001:9001 -v $BASEDIR/mosquitto.conf:/mosquitto/config/mosquitto.conf -v $BASEDIR/data:/mosquitto/data -v  $BASEDIR/log:/mosquitto/log eclipse-mosquitto

Weitere Details Mosquitto

myodoo

https://hub.docker.com/r/myodoo/myodoo-10-public/

nginx und ssl

grunbdsätzliches zu LetsEncrypt