====== Docker Notes ======
===== Installation =====
==== Mit ddev ====
* siehe [[https://ddev.readthedocs.io/en/stable/users/install/ddev-installation/#windows|ddev Installation - WSL2 + Docker CE Inside Install Script]]
===== Machines =====
* Auflisten:
''docker-machine ls''
* Aktive Maschinen anzeigen:
''docker-machine active''
* Maschine starten/stoppen:
''docker-machine start|stop MACHINE''
* IP Adresse herausfinden:
''docker-machine ip MACHINE''
===== Images =====
* Image bauen:
$ docker build --file .docker/Dockerfile -t laravel-docker .
* Images unter Verwendung eines Proxies auf dem Host bauen:
$ docker build --build-arg HTTP_PROXY=http://xx.xx.xx.xx:xx --build-arg HTTPS_PROXY=http://xx.xx.xx.xx:xx -t laravel-docker .
* Images auflisten:
$ docker images
===== Container =====
* Container starten:
$ docker run --rm -p 8080:80 laravel-docker
* oder als Daemon:
$ docker run --rm -d -p 8080:80 laravel-docker
* Laufende Container auflisten:
$ docker ps
oder:
$ docker ps -a
* Container stoppen:
$ docker stop CONTAINERID
* Einen oder mehrerer Conatainer entfernen:
$ docker container rm CONTAINER [CONTAINER...]
===== Compose =====
* Bauen und starten:
$ docker-compose up --build
===== Befehle ausführen =====
* Mit docker-compose:
$ docker compose exec app /bin/bash
* Mit Docker:
$ docker ps
Dort die Container ID notieren, dann:
$ docker exec -it CONTAINER_ID /bin/bash
===== Cleanup =====
$ docker run -ti -v /var/run/docker.sock:/var/run/docker.sock yelp/docker-custodian dcgc --max-container-age 1days --max-image-age 7days
$ docker images -f dangling=true -q | xargs docker rmi
$ docker run -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker:/var/lib/docker --rm martin/docker-cleanup-volumes
$ docker images buildref* | awk '{print $3}' | xargs docker rmi -f
oder:
$ docker image prune
$ docker container prune
$ docker volume prune
$ docker network prune
oder nur:
$ docker system prune
==== Container und Images für ein docker-compose-Verzeichnis entfernen ====
$ docker compose down --rmi all -v --dry-run
===== Symfony Articles =====
* [[dev:docker:symfony|Mit PHP in den Containerhafen einfahren]]
===== Yii Articles =====
* [[dev:docker:doccer-yii2-basic|Yii2 Basic App with Docker]]
* [[dev:docker:docker-yii2|Yii2 with Docker]]
===== Links =====
* [[https://bitpress.io/simple-approach-using-docker-with-php/|Paul Redmont: My Simple Approach to using Docker and PHP]]