---
tags: IT-Themen
---
# Docker auf dem Raspberry Pi (LF 5)
## Docker vs. Virtual Machines

## Docker Installation
### Upgrade des Systems
```
sudo apt-get update && sudo apt-get upgrade
```
### Docker mit hilfe des Installationsscripts Installieren
**Ordner anlegen um das Script zu speichern**
```
mkdir dockerprj # Im Home Directory z.B. /home/username/dockerprj
```
```
cd dockerprj
```
**Script download**
```
curl -fsSL https://get.docker.com -o get-docker.sh
```
**Script ausführen**
```
sudo sh get-docker.sh
```
```
chmod +x get-docker.sh # Sollte sich das script nicht ausführen
# lassen dann die Berechtigung x für execute
# hinzufügen und den Befehl nochmal ausführen
```
### Konfigurtation: Ausführen von Docker auch für Non root User
```
sudo usermod -aG docker [user_name]
```
```
sudo usermod -aG docker itechpi # Username itechpi
```
## Erste Schritte in Docker
**Anzeige der Docker Version + weitere Information zur Docker-Installtion**
```
docker version # Docker Version anzeigen
docker info # Docker Info anzeigen
```
## Erstes Docker Script ausführen "Hello World"
```
docker run hello-world
```
## Enable Docker um Docker beim Systemstart auszuführen
```
sudo systemctl enable docker
```
## Docker HUB für ARM Architecturen wie auf dem Rasperry PI
[Docker-Hub](https://registry.hub.docker.com/search?q=&type=image&architecture=arm%2Carm64)
## Installieren von Docker-Compose
```
sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip
```
```
pip install docker-compose
```
## Installieren einer Entwicklungs-Umgebung mit mysql (mariadb) und phpmyadmin via Docker-Compose

[Docker-Hub phpmyAdmin + MariaDb](https://hub.docker.com/_/phpmyadmin)
### phpmyAdmin + MariaDb mit Volumes
```yml
version: '3.7'
services:
db:
image: mariadb
container_name: workshop-mariadb
restart: 'always'
environment:
MYSQL_ROOT_PASSWORD: itechdb
MYSQL_DATABASE: ITECH
MYSQL_USER: itechuser
MYSQL_PASSWORT: itech2022
volumes:
- ./config/initdb:/docker-entrypoint-initdb.d
- ./data/mysql:/var/lib/mysql
- ./logs/mysql:/var/log/mysql
phpmyadmin:
image: phpmyadmin
container_name: workshop-phpmyadmin
restart: 'always'
environment:
PMA_ARBITRARY: 1
PMA_USER: root
PMA_PASSWORD: itechdb
ports:
- 8080:80
```
### Nachdem ihr das
```
vim docker-compose.yml
```
```
docker-compose up
```
**Terminal-Zugriff auf einen Docker Container**
```
docker exec -i -t <Container-ID> /bin/bash
```
---