UbuntuのDockerコンテナ上に、CentOS7にWebサーバを立てた環境を作ろうとしたのですが、
yum install httpdでコケてしまいました。
似たネタで引っかかっている方が結構おられたようで、どうもストレージエンジンaufsが
微妙にイケていないことが原因とのこと。
とりあえず、ストレージエンジンをdevicemapperに変更すれば回避できるとのことで
公開されている方法で設定ファイルをいじっていたのですが、
今度はDockerサービス再起動時に無反応になるという状況に陥ってしまいました。
何だろうとdevicemapperを手がかりに調べてみたところ、lvm2が抜けていたことが原因の模様。
https://launchpad.net/ubuntu/+source/lvm2
説明を見る限り、この子がDevice Mapperを何かしらしてくれるようですが、
てっきり、Ubuntuのデフォルトで入ると思い込んでいました。
ハマりそうなので、以下、自分用メモ。
(1)dockerパッケージ入れる
(2)設定ファイルの変更および反映(事前にバックアップを取ること)
$ cd /lib/systemd/system
$ sudo vi docker.service
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ExecStart=/usr/bin/docker daemon -H fd://
↓
ExecStart=/usr/bin/docker daemon -H fd:// --storage-driver=devicemapper
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
$ sudo systemctl daemon-reload
(3)lvm2パッケージを入れる(Synapticから導入)
(4)起動およびストレージエンジンの確認
$ sudo service docker start
$ sudo docker info
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
下記の表示を確認
Server Version: 1.11.1
Storage Driver: devicemapper
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
(5)CentOS7のbuild
http://www.atmarkit.co.jp/ait/articles/1407/08/news031.html
を参考に、こんな感じにDockerfile作ってbuildしたら
yum install httpdまで行った(コンテナ起動は未確認)。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
FROM centos
MAINTAINER (適当)
RUN yum install -y httpd
ADD index.html /var/www/html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【2016年5月22日追記】
Dockerを再インストールしたので、こちらに書きました。