Docker installieren
Diese Anleitung geht von einem Debian-basiertem Linux-System aus (Ubuntu/elementary). Ich selbst habe hierzu ein Ubuntu 20.04 LTS verwendet.
Das Zielsystem sollte auf einem aktuellen System installiert werden.
apt update && apt upgrade
Danach werden einige Helferlein installiert (u.a. curl, apt-add-repository):
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
Jetzt können wir den Schlüssel für das Docker-Repository herunterladen:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
und das Docker-Repository hinzufügen:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && apt update
Jetzt können wir Docker installieren. (docker-ce installiert die Community Edition von Docker)
apt install docker-ce
Jetzt sollte docker installiert und testbereit sein:
docker info
Installieren von nvidia-docker
Wenn ihr eine NVidia-GPU habt, könnt ihr ebenfalls nvidia-docker installieren. Damit können Docker-Container auf eure GPU zugreifen.
Herunterladen des Repository Sicherheitsschlüssels:
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
Bestimmen des Betriebssystems:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
Herunterladen der Hinzufügen des nvidia Repositories:
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update
Installieren von nvidia-docker (sowie ein docker daemon reload):
sudo apt -y install nvidia-docker2 && sudo pkill -SIGHUP dockerd
Zuletzt kann die Installation von nvidia-docker getestet werden:
nvidia-docker run -it --rm nvidia/cuda:latest nvidia-smi
Docker verwenden
Herunterladen von Images und Ausführen von Containern:
docker pull svekre/anaconda3:smpl
Einfaches ausführen und kontrollieren der Container
docker images
docker run -i -t svekre/anaconda3:smpl
docker ps
Images und Container analysieren
docker inspect name|<ID>
docker logs name|<ID
Starten der Jupyter Notebook Umgebung unter Linux
Um die Notebooks nicht zu verlieren die man später unter Jupyter erstellt, bietet es sich an einen Ordner mit dem Docker-Container zu verknüpfen. Hierbei habe ich den Ordner /opt/notebooks
lokal erstellt und werde den Ordner ebenso im Container übernehmen.
nvidia-docker run -i -t -v /opt/notebooks:/opt/notebooks -p 8888:8888 svekre/anaconda3:latest /bin/bash -c "/opt/anaconda3/bin/jupyter notebook --ip='*' --notebook-dir=/opt/notebooks --no-browser --port=8888"
Der Shellaufruf als Beispiel:
Der Link wird kopiert und auf dem aufrufenden Rechner (hier virchow) in die Addresszeile des Browser (chromium-browser) kopiert:
Aufräumen
Das Arbeiten mit docker verlangt auch, dass man manchmal Images bzw. Container umbenennt, benennt und|oder löscht.
Umbenennen:
docker tag <name>|<ID> <name>
Images löschen
docker rmi <Image-Name>|<Image-ID>
Container löschen
docker rm <Container-ID>|<Container-Name>
Docker-GUI Kitematic
Mit der Installation von kitematic, gibt es eine lokale Docker-GUI um seine Images/Container zu verwalten:
apt install kitematic