Remote - Containers
使用時にbashの履歴を永続化する方法
Dockerfile
を編集する
Dockerfileに以下を追記します。
ユーザーがrootの場合
RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
&& echo $SNIPPET >> "/root/.bashrc"
ユーザーがroot以外の場合
ARG USERNAME=ユーザー名
RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
&& mkdir /commandhistory \
&& touch /commandhistory/.bash_history \
&& chown -R $USERNAME /commandhistory \
&& echo $SNIPPET >> "/home/$USERNAME/.bashrc"
docker-compose.yml
を編集する
docker-compose.yml
を使用している場合には以下を追記します。
docker-compose.yml
volumes:
- projectname-bashhistory:/commandhistory
volumes:
projectname-bashhistory:
devcontainer.json
を編集する
docker-compose.yml
を使用していない場合にはdevcontainer.json
に以下を追記します。
devcontainer.json
"mounts": [
"source=projectname-bashhistory,target=/commandhistory,type=volume"
]