アジェンダ
Docker 日本語環境構築まとめ 1 ではDocker環境の構築をおこなった
今回はコンテナの作成を行う
1 Dockerfileを書く
2 Dockerfileからimageをbuild
3 imageからコンテナを作成
コンテナ作成の前に Dockerfileを書く
- CentOSのver7を指定してinstall
- 日本語環境
- タイムゾーンを設定
- マニュアルとmanコマンドを入れる
参考
Window10に日本語対応CentOS7のdockerコンテナを作ってみた
ポイントはCentOS ProjectのGPG公開鍵
これがないとinstallが全然すすまなかった
Dockerfileをかく
Dockerfile
vi Dockerfile
FROM centos:7
# CentOS ProjectのGPG公開鍵をインストールする
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# インストール済みのパッケージをアップデート&キャッシュのクリア
RUN yum -y update && yum clean all
# 言語を日本語に設定
RUN localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
RUN echo 'LANG="ja_JP.UTF-8"' > /etc/locale.conf
ENV LANG ja_JP.UTF-8
# 日付を日本語に設定
RUN echo 'ZONE="Asia/Tokyo"' > /etc/sysconfig/clock
RUN rm -f /etc/localtime
RUN ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# manをインストールする前に、manファイルをインストールするように設定変更
RUN sed -i -e"s/^tsflags=nodocs/\# tsflags=nodocs/" /etc/yum.conf
# manと、man-pagesをインストール
RUN yum -y install man
RUN yum -y install man-pages.noarch
RUN yum -y install man-pages-ja.noarch
現在のDockerの状態
なにもないこと
images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ps
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
Dockerfileからimageをbuild
コマンド構文
== 構文
docker build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]
※ タグ名は作成versionを入れたりすることが多いっぽい
== image生成
$ docker build -t act_chk:1.0 .
--> Conplete!!
== 確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
act_chk 1.0 d2b0a3cbbbac About a minute ago 588MB
centos 7 1e1148e4cc2c 6 weeks ago 202MB
問題なくimageがbuildされました
コンテナの作成
docker_run
== コンテナ作成
$ docker run -it --hostname="act_chk" -d --name="act_chk" d2b0a3cbbbac /bin/bash
ps
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8af1a1241f48 d2b0a3cbbbac "/bin/bash" 14 seconds ago Up 12 seconds act_chk
生成されました
コンテナに入ってみる
プロセスのSTASUSをみると"UP"となっているため、
このコンテナ状態はバックグラウンドにて起動中となっています
中に入って確認
$ docker attach act_chk
--> プロンプトが変わりコンテナ内に入ります
$ date
2019年 1月 21日 月曜日 11:54:10 JST
日本語環境と時刻同期ができている事を確認
今回はexpectというコマンドも一緒にインストールした
これでCentOSでシェルを動かす環境がコンテナ上にできたのでここまで