Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Docker地雷n本勝負

4,888 views

Published on

Docker Meetup #2でLTをさせて頂きました。
その発表スライドです。※爆発のスライドは諸事情で消しました(;´Д`)

基本的にはdocker0.7で踏んだ地雷について紹介しています。
docker0.10ではどれも直っている(はず)と思います。

Published in: Technology
  • Be the first to comment

Docker地雷n本勝負

  1. 1. Docker地雷n本勝負 2014/04/11 Docker Meetup Tokyo #2 Ryuta Koide @DG0426
  2. 2. JAIRO Cloud Backup Site  大学機関の論文などを掲載しているWebページ  dockerでバックアップサイトを構築  踏んできた地雷について独断と偏見で3つほどピックアップ 過去にどんな地雷が埋まっているのか知ることはそこを 歩く人たちの助けになるはず・・・
  3. 3. 分散KVS(etcd) DNSサーバHAProxy Backup data Docker DockerDocker
  4. 4. 軽い地雷:Dockerディレクトリの 場所の問題(0.7)  シチュエーション 大人の事情で/パーティションが少ないマシンが与えられ てしまった(でも2TBくらいのパーティションもある) まあ、Docker root(/var/lib/docker)を別の場所に置い てsymlinkすればいいんじゃないかな・・・ コンテナ起動成功! 次はコンテナの削除だー
  5. 5. 軽い地雷:Dockerディレクトリの 場所の問題(0.7)  handle symlinks for Docker's root dir & TMPDIR https://github.com/dotcloud/docker/pull/4382  ダメージ コンテナが削除できなくなる そのため、イメージも削除できない バックアップデータ更新の度にイメージが削除されない DiskFull発生\(^O^)/
  6. 6. 軽い地雷:Dockerディレクトリの 場所の問題(0.7)  対処法 サービスの起動時はdocker –g <path> を使う DOCKER_OPTS=“-g /mnt/docker” /etc/init/docker.conf /etc/default/docker(こちらを推奨)
  7. 7. 気付きにくい地雷:AUFSのレイ ヤー数制限の問題(0.7)  Docker Changelog https://github.com/dotcloud/docker/blob/master/C HANGELOG.md#072-2013-12-16 AUFSレイヤー数制限は0.7移行、127に引き上げられてい る
  8. 8. 気付きにくい地雷:AUFSのレイ ヤー数制限の問題(0.7)  シチュエーション Dockerfileで環境の作成方法を記述する そのときは問題なく動作していたが… 納品間近になって最終テストをすると、インストール時 にバージョンの違いで動かないことがわかる( ̄Д ̄;; (ex: gem installとか) そこでバージョン指定のため一行に書かれていたものを 二行にして、再度テストすると…
  9. 9. 気付きにくい地雷:AUFSのレイ ヤー数制限の問題(0.7)  ダメージ buildはエラーなく終わったように見える。 イメージはできている… が、コンテナが起動できない!!!Σ(Д゚;/)/ まあ、起動できないのだからイメージ、引いては Dockerfileに原因がありそう。
  10. 10. 気付きにくい地雷:AUFSのレイ ヤー数制限の問題(0.7)  対処法 とにかくDockerfileの行数を減らす 方法1:簡単なコマンドはENTRYPOINTにまとめる 方法2:コマンドをシェルにまとめて、ADD イメージをexport -> importで作り直す dockerで"Unable to mount using aufs"エラーの対 処法 http://qiita.com/kimh/items/e0769f0d15336b7 68909
  11. 11. なんで0.10でなくて0.7なの? そもそも0.8は?
  12. 12. Dockerのバージョンアップに伴 う問題(0.7⇒0.8)  ダメージ /tmpに対するシンボリックリンクが使用できない Resolve symlinked /tmp so 'docker build' won't fail https://github.com/steeve/boot2docker/pull/144  対処法(0.9) /etc/default/docker export TMPDIR="/mnt/docker-tmp"
  13. 13. Dockerのバージョンアップに伴 う問題(0.7⇒0.8)  ダメージ Dockerfileが0.8で予期した通りに動かない・・・ ADD Behaviour when source is remote tar.gz URL has changed in v0.8 https://github.com/dotcloud/docker/issues/3964  とりあえず(いろいろ〆切があったので)0.7で乗り切った
  14. 14. Thanks!

×