.bash_history
ボリュームをDockerコンテナーと共有して、シェルに入るたびにbash履歴をスクロールできるようにする方法はありますか?
IPythonでも同じことができるのは素晴らしいことです。
ボリュームに関するドキュメント:ホストファイルをデータボリュームとしてマウントする からの例です:
docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash
これにより、新しいコンテナーのbashシェルにドロップされ、ホストからのbash履歴が得られます。コンテナーを終了すると、ホストはコンテナー内で入力されたコマンドの履歴があります。
あなたの docker-compose.override.yml
:
version: '2'
services:
whatever:
…
volumes:
- …
- ~/.bash_history:/root/.bash_history
IPythonの履歴を保持するには、マップされたボリューム内のどこかにIPYTHONDIR
環境変数を設定できます。
docker-compose.override.yml
は次のようになります。
version: '2'
services:
some-service:
environment:
- IPYTHONDIR=/app/.ipython
volumes:
- .:/app
私の解決策は次の場合に役立ちます:
.bash_history
と.bash_history
コンテナ内.bash_history
ビルド間.bash_history
to git repoしかし、コンテナの起動時に同じディレクトリ内に自動的に作成したい私はファイル構造を次のように想定しています:
docker-compose.yml
docker/
\--> bash/
\--> .bashrc
\--> .bash_history
docker-compose.yml
web-service:
build: .
volumes:
- ./docker/bash/.bashrc:/home/YOUR_USER_NAME/.bashrc
- ./docker/bash:/home/YOUR_USER_NAME/bash
./ docker/bash/.bashrc-.bash_historyを自動的に作成します:
export HISTFILE=~/bash/.bash_history
touch $HISTFILE
オプションで、。gitignoreに追加できます。
docker/bash/.bash_history
Bashの場合
volumes:
- ./.data/Shell_history/php_bash_history.txt:/home/www-data/.bash_history #bash
Shの場合
volumes:
- ./.data/Shell_history/nginx_bash_history.txt:/root/.ash_history #sh