Si vous êtes comme moi, et avez tendance à utiliser docker comme un bac à sable, je comprends votre frustration de n’avoir jamais d’historique de vos commandes (bash history).
Incapable de faire ctrl + r un jour sur deux, mais ça, c’était avant de chercher une solution ?
Partage du fichier .bash_history
Nous allons créer un fichier .bash_history, puis ajouter un partage dans notre fichier docker-compose.yml
version: '3.7'
services:
tools:
image: kiora/tools:latest
volumes:
- .bash_history:/kiora/home/.bash_history
On start nos container et on test, le fichier reste vide ?.
Mais c’est normal, le fichier n’est écrit que lorsqu’on quitte bash, c’est-à-dire en faisant un ctrl + d.
Trop cool, ça marche. Mais on peut faire mieux ?
Volume nommer
Nous allons écrire notre fichier dans un dosser qui va être monter sur un volume nommer.
Pour changer le dossier il faut une variable d’environnement.
version: '3.7'
services:
tools:
image: kiora/tools:latest
environment
- HISTFILE=/home/kiora/hist/.bash_history
volumes:
- bashhistory:/home/kiora/hist
volumes:
bashhistory:
Et voilà, nous n’allons plus jamais perdre notre bash history sous docker (sauf avec un docker volume rm bashhistory
?)
Benoit Galati
Sinon on peut utiliser
docker-compose exec
oudocker-compose run
depuis sa machine host pour éviter de switcher de shell. Le bonus c’est que ça permet de rester à la maison.user
J’utilise un container tools avec tout.
Je souhaite être opérationnel au plus vite pour un client, meme si mon PC brule :D.
Merci pour le commentaire 😉