Docker
Les composantes
Depuis Docker 20.10: moby/moby
Buildkit
Builder's guide
- Comment fonctionne le cache
-
Multi-stage builds: l'image de compilation et
COPY --from=compilation-image
-
Dive, outil de debug
Buildkit
Dockerfile format: moby/buildkit
https://blog.docker.com/2018/06/containerd-buildkit-and-value-of-dockerengine/
https://pythonspeed.com/articles/docker-buildkit/
buildx
docker login
when using docker login
, this file is created: ~/.docker/config.json
capabilities
Alpine Linux
Bash n'est pas isntallé, il faut utiliser ash (almquist shell)
docker run --it -rm mycontainer /bin/ash
Utiliser apk
au lieu de apt-get
dans le Dockerfile
RUN apk add python-dev
Cadvisor error: "mountpoint for cpu not found"
Aussi connu sous: k3d node restarting / apiserver restarting
Bug: Cadvisor ne retrouve pas les bons cgroup quand on est en mode unified cgroup (cgroup version 2, voir docker info
).
Bug: node restarting / api-server (meme si le cluster a l'air up, un k3d node list
montre un node qui restart en chaine)
Il faut etre en v1 et Arch est par défaut en v2!
Sur arch:
- Changing cgroup version
- Dans
/etc/default/grub
, ajouterGRUB_CMDLINE_LINUX=systemd.unified_cgroup_hierarchy=0
- Recréer une config grub avec
sudo grub-mkconfig -o /boot/grub/grub.cfg
- redémarrer le system (juste restart daemon docker ne suffit pas)
Error: failed to allocate gateway
ERROR: failed to allocate gateway (10.5.0.1): Address already in use
réponse: docker network prune
Error: Invalid cross-device link
https://gist.github.com/Francesco149/ce376cd83d42774ed39d34816b9e21db
sur le host: echo N | sudo tee /sys/module/overlay/parameters/metacopy
Kubernetes
200~https://kgrz.io/caching-parallelism-in-docker-multi-stage-builds.html