参考記事
必要なパッケージと設定
- パッケージ: language-pack-ja
- 環境変数: LANG=ja_JP.UTF-8
コンテナからインストール
$ sail bash
# apt-get install -y language-pack-ja
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
でけへんやないか〜い
rootユーザーでシェルにアクセス
コンテナIDを確認する。
$ docker ps
rootユーザーでコンテナに入る
$ docker exec -it --user root コンテナIDまたは名前 bash
これでrootユーザーで入れたので
# apt-get install -y language-pack-ja
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package language-pack-ja
んで環境変数を設定します。
# export LANG=ja_JP.UTF-8
これでtinkerの日本語対応OK
# php artisan tinker
Psy Shell v0.11.18 (PHP 8.2.6 — cli) by Justin Hileman
> 'あ'
= "あ"
この方法だと、ビルドするたびに毎回パッケージインストールと環境変数設定が必要になると思います。
しかしチーム開発の場合、Dockerfileでパッケージのインストールなどはインフラチームとかが管理していて勝手に修正することができない場合もあるのではないでしょうか。
でも動作確認でいろいろコマンドを実行したいけど、コマンドが見つかりません
って出て「インストールせなあかんやん」って場合に、とりあえずその場だけでもってこともあるでしょう。
そういう時に役立つかもですね。
ま、参考までにお願いします。