LinuC勉強用のCentOS環境をDockerで作った
最近,会社の先輩におすすめされてLinuCの勉強を始めました
とりあえず公式公認の教科書を買って
載っているコマンドを実際に使って覚えていくことにしました
ただ、普段使いしているのはMacOSなので試験範囲で使えないコマンドもあるし、
環境をいじるのも嫌だったのでDockerコンテナで勉強用の環境を作ることにしました
手順
Dockerfile
FROM centos:latest ARG USER ARG PASSWD # ユーザーを追加してパスワードを設定 RUN yum -y update && yum clean all && \ yum -y install sudo && \ yum -y install which && \ useradd -m $USER && \ echo "$USER:$PASSWD" | chpasswd && \ echo "$USER ALL=(ALL) ALL" >> /etc/sudoers # 日本語化設定 RUN yum -y reinstall glibc-common RUN yum -y install glibc-langpack-en glibc-locale-source RUN localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 RUN echo 'LANG="ja_JP.UTF-8"' > /etc/locale.conf ENV LANG="ja_JP.UTF-8" \ LANGUAGE="ja_JP:ja" \ LC_ALL="ja_JP.UTF-8"
上が使用したDockerfileです
rootユーザーだけだと不便なのでユーザーを追加してパスワードを設定しています
また、日本語化も行っています
使い方の手順
buildします。--build-argで変数をわたせるらしい
> docker build -t mycentos_ja:latest . --build-arg USER=[user name] --build-arg PASSWD=[password]
起動
> docker run -d mycentos_ja:latest /sbin/init
ユーザー指定でシェル実行。コンテナに入ります
> docker exec -it [container ID] su - [user name]
日本語化の確認をします
[morito@4483559028a3 ~]$ locale # locale確認 LANG=ja_JP.UTF-8 LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL= [morito@4483559028a3 ~]$ date 2021年 3月 30日 火曜日 03:35:06 UTC # 日本語になってる
sudoを確認します
[morito@4483559028a3 ~]$ sudo visudo
一番下にmorito ALL=(ALL) ALL
という記述が確認できました
さいごに
locale周りは全然よくわかってないです
余計なlocaleを削除してDockerの容量を減らしたりできるらしいけど
よくわからん。今度暇な時に調べようと思います。