はじめに
Docker上で使うエイリアスは、ローカルの.bashrcや.bash_profileをマウントする方法もありますが、そもそもローカルに.bashrcや.bash_profileが無い場合はエラーになってしまいます。
プロジェクトメンバーによっては設定していない人もいる(かも)と思うので、どうしたものか、、と悩みましたが、その一つの解決方法としてローカルをマウントすることなくプロジェクト内でエイリアスを定義して使用できるようにする方法を考えてみました。
概要
Dockerで立ち上げた環境内にある.bashrc にエイリアスを追記することで、ローカルの .bashrcや.bash_profile をマウントすることなくDocker 内でエイリアスが使用できます。
実装方法
1. プロジェクトルートに.alias ファイルを作成して、追加したいエイリアスを記述
分かりやすいように.aliasファイルとしましたが、他の名前でも良いと思います。
今回は、gitコマンドのエイリアスを設定する例を挙げています。
↓.alias ファイルの中身(例)
alias g="git"
alias gs="git status"
alias gb="git branch"
alias gc="git checkout"
alias ga.="git add ."
alias gcm="git commit -m"
alias gcmam="git commit --amend"
alias gps="git push"
alias gpsoh="git push origin HEAD"
alias gfo="git fetch origin"
alias gplo="git pull origin"
alias glo="git log --oneline"
alias grl="git reflog"
2. プロジェクトルートに Dockerfile を配置して以下を記述
FROM node:14.17.6
# エイリアスを設定
COPY ./.alias /root
RUN cat /root/.alias >> /root/.bashrc
立ち上げた環境内のルートディレクトリに.alias ファイルをコピーし、その内容を.bashrc に追記しています。
なぜかプロジェクトルートから直接.alias を.bashrc に追記できなかったので、一旦、ルートディレクトリにコピーを作成して追記しています。。
3. Docker で環境を立ち上げてターミナルからエイリアスが使えることを確認
これでDocker上でもターミナルからエイリアスが使えるようになると思います!
.bashrcに追記されている内容を確認するときは、cat ~/.bashrc
で.bashrcの中身を確認してみてください。
最後に
プロジェクトメンバーが各々でエイリアスを設定している場合は今回の方法は使わなくて良いと思いますが、プロジェクト内でエイリアスを統一したい場合やエイリアス自体使うのが初めての人に紹介するときなどに良いのかなと思います。