今年に入って賑やかになってきたDocker界隈ですが、そろそろこのビッグウェーブに乗るしかなくなってきたため、入門してみました。
その上で、ハマった部分などを整理してみようと思います。
DNSの設定
ubuntuのコンテナを作成するため、下記のようなDockerfileを作成。
単純にパッケージの最新化を行っているだけなので、失敗するはずが無いと思っていたら、apt-get updateを発行している部分で下記のようなエラーが発生
Err http://archive.ubuntu.com trusty InRelease
Err http://archive.ubuntu.com trusty-updates InRelease
Err http://archive.ubuntu.com trusty-security InRelease
Err http://archive.ubuntu.com trusty Release.gpg Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-security Release.gpg Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/InRelease
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-security/Release.gpg Could not resolve 'archive.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
どうも名前解決できていないようなのですが、ローカルのUbuntuで試してみても大丈夫・・・。 はてなんぞや?と悩んでいたら、全く同じエラーが出ている方がいました。
Docker on Ubuntu 14.04 - Could not resolve 'archive.ubuntu.com'
要するに、/etc/default/docker.ioの
#DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4"
のコメントアウトを外して、DNSサーバを明示的に指定しなさいってことでした。
ホストのDNS設定を勝手に使ってくれるものだと思っていたので、長いことハマってました・・・。
パッケージ名
Ubuntuの標準リポジトリでは、すでにdockerという別のパッケージが存在している。
docker - System tray for KDE3/GNOME2 docklet applications
ということで、ここでいうところのdockerはdocker.ioというパッケージ名となっております。
なにも調べないままに、
sudo apt-get install -y docker
としてしまい、X関連のパッケージがインストールされてしまいビビるという事案が発生しました。
こうやって見てみるとDNSサーバの設定で長々とはまっていただけで、いうほどハマりどころはなかったですね・・・。
とりあえず簡単そうなところで、Growthforecast のDockerfileを作ってみました。
golaboratory/docker-growthforecast
これから開発で使用するサーバ系をひと通りdocker上に乗っけてみようとしているので、随時増やしていこうかと考えております。