Long overdue first commit with content

This commit is contained in:
Julien Dessaux 2020-04-28 17:29:52 +02:00
parent f63ce5bdd8
commit 6cc9d8c72a
92 changed files with 2031 additions and 97 deletions

View file

@ -0,0 +1,5 @@
---
title: "Docker"
linkTitle: "Docker"
weight: 40
---

View file

@ -0,0 +1,12 @@
---
title: "Cleaning a docker host"
linkTitle: "Cleaning a docker host"
date: 2018-01-29
description: >
How to retrieve storage space by cleaning a docker host
---
Be carefull that this will delete any stopped container and remove any locally unused image and tags :
{{< highlight sh >}}
docker system prune -f -a
{{< /highlight >}}

View file

@ -0,0 +1,31 @@
---
title: "Docker compose predictable bridge"
linkTitle: "Docker compose predictable bridge"
date: 2018-09-25
description: >
How to use a predefined bridge with docker compose
---
By default, docker-compose will create a network with a randomly named bridge. If you are like me using a strict firewall on all your machines, this just cannot work.
You need to put your services in `network_mode: “bridge”` and add a custom `network` entry like :
{{< highlight yaml >}}
version: '3.0'
services:
sshportal:
image: moul/sshportal
environment:
- SSHPORTAL_DEFAULT_ADMIN_INVITE_TOKEN=integration
command: server --debug
depends_on:
- testserver
ports:
- 2222
network_mode: "bridge"
networks:
default:
external:
name: bridge
{{< /highlight >}}

View file

@ -0,0 +1,15 @@
---
title: "Migrate a data volume"
linkTitle: "Migrate a data volume"
date: 2018-01-30
description: >
How to migrate a data volume
---
Here is how to migrate a data volume between two of your hosts. A rsync of the proper `/var/lib/docker/volumes` subfolder would work just as well, but is here a fun way to do it with docker and pipes :
{{< highlight sh >}}
export VOLUME=tiddlywiki
export DEST=10.1.0.242
docker run --rm -v $VOLUME:/from alpine ash -c "cd /from ; tar -cpf - . " \
| ssh $DEST "docker run --rm -i -v $VOLUME:/to alpine ash -c 'cd /to ; tar -xfp - ' "
{{< /highlight >}}

View file

@ -0,0 +1,16 @@
---
title: "Shell usage in dockerfile"
linkTitle: "Shell usage in dockerfile"
date: 2019-02-04
description: >
How to use a proper shell in a dockerfile
---
The default shell is `[“/bin/sh”, “-c”]`, which doesn't handle pipe fails when chaining commands. To process errors when using pipes use this :
{{< highlight sh >}}
SHELL ["/bin/bash", "-eux", "-o", "pipefail", "-c"]
{{< /highlight >}}
## References
- https://bearstech.com/societe/blog/securiser-et-optimiser-notre-liste-des-bonnes-pratiques-liees-aux-dockerfiles/