1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker上のbashに直接、エイリアス(短縮コマンド)を設定する方法

Last updated at Posted at 2021-11-10

はじめに

Docker上で使うエイリアスは、ローカルの.bashrcや.bash_profileをマウントする方法もありますが、そもそもローカルに.bashrcや.bash_profileが無い場合はエラーになってしまいます。

プロジェクトメンバーによっては設定していない人もいる(かも)と思うので、どうしたものか、、と悩みましたが、その一つの解決方法としてローカルをマウントすることなくプロジェクト内でエイリアスを定義して使用できるようにする方法を考えてみました。

概要

Dockerで立ち上げた環境内にある.bashrc にエイリアスを追記することで、ローカルの .bashrcや.bash_profile をマウントすることなくDocker 内でエイリアスが使用できます。

実装方法

1. プロジェクトルートに.alias ファイルを作成して、追加したいエイリアスを記述

分かりやすいように.aliasファイルとしましたが、他の名前でも良いと思います。
今回は、gitコマンドのエイリアスを設定する例を挙げています。

↓.alias ファイルの中身(例)

.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 を配置して以下を記述

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の中身を確認してみてください。

最後に

プロジェクトメンバーが各々でエイリアスを設定している場合は今回の方法は使わなくて良いと思いますが、プロジェクト内でエイリアスを統一したい場合やエイリアス自体使うのが初めての人に紹介するときなどに良いのかなと思います。

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?