Dockerにローカルのbashrcやvimrcを使って接続するワンライナー
Pocket

Dockerにbashでログインする際、手元の環境のbashrcやvimrcを使って直接ログインしたいということがある。
原理的にはsshの場合と同じやり方でできるだろうということでやってみた。

とりあえず、以下のようなコマンドでローカルのbashrcを使ったログインが可能だ。
(読み込ませているbashrcのPATHは自分の環境のものなので、適宜書き換えが必要。)

docker run --rm -it コンテナ bash -c '/bin/bash --rcfile <(echo -e '$(cat ~/dotfiles/{.bashrc,sh/{sh_function,sh_export,sh_alias,sh_function_lvim},bash/bash_prompt}|base64)'|base64 -d)'
Sponsored Links

ちなみに、現在のセッションで利用している環境変数やfunction、aliasをそのまま読み込ませる場合は、以下のようにすればいい。
(base64 -w0はLinuxの場合での指定なので、Macの場合はオプションを消してbase64だけでいい)

docker run --rm -it theoldmoon0602/shellgeibot bash -c '/bin/bash --rcfile <(echo -e '$(cat <(set) <(alias)|base64 -w0)'|base64 -d)'

 

そもそもDockerコンテナに入ることもあまりないだろうし、使う機会はそう多くなさそうだけど、特定のシステムコンテナ(シェル芸botとか)の環境で操作したい場合には役に立つと思う。

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*