base イメージは、AI CLI の起動 alias を /etc/devbase/ai-cli-aliases.sh に配置し、一般ユーザーの
Bash 初期化時に読み込める状態を提供する。
/etc/devbase は root 所有、permission 0755 で明示的に作成する。その後、
ai-cli-aliases.sh を root 所有、permission 0644 で配置する。
Dockerfile では一般ユーザーへ切り替えた後にこの設定を行うため、ディレクトリ作成には
sudo install -d -m 0755 /etc/devbase を使用する。ファイル用の COPY --chmod=0644 に親
ディレクトリの暗黙作成を任せると、親も 0644 になって一般ユーザーが配下を探索できないため、
ディレクトリ作成は必ず COPY より先に行う。
常に次の条件を保つ。
/etc/devbaseは全ユーザーが探索できる0755とする。/etc/devbase/ai-cli-aliases.shは全ユーザーが読み取れる0644とする。- 一般ユーザーは alias ファイルを source できる。
- alias の内容と起動オプションは、ディレクトリ permission の設定から独立させる。
設定変更は base イメージの再ビルドとコンテナの再作成後に反映される。既存コンテナで
/etc/devbase が 0644 の場合は root で chmod 0755 /etc/devbase を実行すれば一時復旧できるが、
恒久対応には修正済みイメージを使用する。
- Dockerfile が
/etc/devbaseを0755で作成してから alias ファイルを配置すること。 - ビルドしたイメージで
/etc/devbaseが0755、alias ファイルが0644になること。 ubuntuユーザーが/etc/devbase/ai-cli-aliases.shを source できること。- 既存の AI CLI alias 定義と起動オプションが変わらないこと。