はじめに
ここでは、Docker(docker-compose)でCentOS8のコンテナを利用する(ERROR: No container found forの解消)のCentOS8のコンテナを利用しようとした場合に、注意した方がいいなと感じた点をメモとして残します。
Failed to set locale, defaulting to C というエラーが出る
上記エラーについては、Vagrantなどで構築するVMのCentOS8であれば、dnf install -y langpacks-ja
のパッケージをインストールすることで解消します。
しかし、Dockerコンテナの場合、私が試した限りではexport LC_ALL=C
を実行して環境変数LC_ALL
にC
をセットすることで解消しました。
localeの設定は基本的にはlocalectl
コマンドを利用して設定すると思います。(LC_ALL
はlocalectlではなく環境変数で設定するのですが。。。)
ですが、DockerのCentOS8のコンテナでは、localectl
やsystemctl
コマンドが使えません。
systemctlやlocalectlコマンドが利用できない
DockerのCentOS8のコンテナでは、以下のようにsystemctl
やlocalectl
のコマンドが正常に動作しない。
そのため、CentOS8の環境を色々といじってみたいというような意図でDockerを利用するのは注意が必要だ。
この辺のエラーが出て、CentOS8をただ単に触りたいという思いを優先するため、VagrantでCentOS8の環境を用意して触るようにしましたw。
Vagrantを使ってCentOS8の環境を立ち上げプロビジョニングによって日本語開発環境として成立させる最小構成
# localectl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to create bus connection: Host is down
# systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down