--- tags: IT-Themen --- # Docker auf dem Raspberry Pi (LF 5) ## Docker vs. Virtual Machines ![](https://writemd.rz.tuhh.de/uploads/892fba9c-6e82-4490-b385-46bc4281c150.png) ## 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 ![](https://writemd.rz.tuhh.de/uploads/c8261c04-aea3-43af-9fde-913237bef0cf.png) [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 ``` ---