docker-bash-hito

Ne perdez plus votre bash history sur docker

Spread the love

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 😈)

chevron_left
chevron_right

Participer à la discussion

comment 2 commentaires
  • Benoit Galati

    Sinon on peut utiliser docker-compose exec ou docker-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 😉

Laisser un commentaire

%d blogueurs aiment cette page :