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_...
ふとしたことで、不特定多数のユーザにssh接続環境を用意してハンズオン環境を作る際、sshログインと同時にdockerのインスタンスにアクセスさせることができれば、各ログインセッションごとに同じ環境を個別に用意できるのではないかと思ったので、やってみることにした。
(といっても、やってることは単純でsshのauthrozied_keysのcommandに docker run -it image /bin/bash
を書いといてやることで、指定したイメージから個別にコンテナを起動してログインさせているだけなのだけど…)
メリットとしては、例えば
某シェル芸botで、NAME_MAXが255なのに、作成できるファイル名の上限が242だというのを見かけたので調べて見たところ、どうもDockerで利用されているaufsではプレフィックスの関係からファイル名の長さが242に制限されるらしい。
以下、対象箇所の引用。