■ このスレッドは過去ログ倉庫に格納されています
Docker
- 1 :login:Penguin:2013/07/27(土) NY:AN:NY.AN ID:5oaw2wHS.net
- LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。
http://www.docker.io/
- 31 :login:Penguin:2014/07/21(月) 16:09:09.81 ID:CD3L4aLS.net
- > なんで流行ってんの?
自分でわざわざLVMとchrootを組み合わせて作らなくても用意されているから。
さらに便利なのが、一度やった処理を省いてくれる機能。
具体的に言うと、OSを0からセットアップする時、
A、B、C といったアプリをセットアップするわけだが、
Cのセットアップ中に、Bの設定が間違っていることに気づいた。
0からやり直しかよ。っていう場合、Aの設定を省ける。
もちろん、Cの設定を何回やり直そうが、A、Bの設定は省ける。
Dockerfileを使うと自動的にこうなるから、
Dockerfileを一歩ずつ作っていける。
仮想マシンがBIOSの起動から始まるから、何度も0からセットアップするのが
苦痛なのと対極にDockerだと、変更点以前は一回しかやらないから早い
- 32 :login:Penguin:2014/07/21(月) 16:13:02.98 ID:CD3L4aLS.net
- > Vagrant+Chef/Ansible+スナップショットで良い気がしてきた
の問題点、Chefの真ん中あたりの設定をちょっと書き換えると
数分かかる。もちろんChefの文法を覚えないといけない。
Dockerはほとんどシェルスクリプトと一緒。
ぶっちゃけどちらもやってることは、単なるCUI使ったインストール、
つまりapt-getやyumでできることなのに、なんぜわざわざ
なぜ変な命令を大量に覚えないといけないのか。
Chefはそこがおかしい。
- 33 :login:Penguin:2014/07/21(月) 16:29:06.37 ID:0nx/kEDi.net
- >>32
Dockerでも書き換えたらやり直しだよ
Chefが嫌いならAnsibleでいいじゃない
- 34 :login:Penguin:2014/07/21(月) 16:30:43.62 ID:0nx/kEDi.net
- >>31
>自分でわざわざLVMとchrootを組み合わせて作らなくても用意されているから。
違う違う逆
結局LVMなどのfs仮想化が必要だって言ってるんだよ
- 35 :login:Penguin:2014/07/21(月) 16:37:36.55 ID:CD3L4aLS.net
- >>33
やり直しじゃないよw
やり直すのは変更点より以降だけ
OSのインストールって時間かかるんだよね。
で、Dockerfile使っていればインストールが終わった所で
自動的に保存。あとはDockerfileの一行ずつ自動保存
だからDockerfileが以下のようになってる時、
[OSインストール完了]
Aの設定
Bの設定
Cの設定
Bの設定を書き換えても、OSのインストールやAの設定は二度とやらない。
これにより、OSのセットアップが試行錯誤でできる。
試行錯誤というのは特殊な命令は必要なく、て単なるシェルスクリプトを作るのと変わらない。
途中までやったら、マシンを削除して0から作り直し、と言ってもやった所は自動的に省かれるから
OSのセットアップしていくのが、簡単に高速に行える。
- 36 :login:Penguin:2014/07/21(月) 16:41:46.16 ID:CD3L4aLS.net
- >>34
> 結局LVMなどのfs仮想化が必要だって言ってるんだよ
LVM作っても、差分セットアップ(今までやった所は省く)は
できないからね。そういう仕組みを自分で作るは面倒すぎる。
自分でわざわざスナップショットを取らないといけないし、
このスナップショットは、なんだろう? どこから
枝分かれした、どの部分かな?ってのを管理しないといけない。
そういう面倒なことはDockerが全部やってくれるから
Dockerインストールするとすぐに使える。
- 37 :login:Penguin:2014/07/21(月) 16:47:25.53 ID:0nx/kEDi.net
- もしかして、構築テストの話じゃなく、実運用の差分の適用の事言ってる?
Chefは逐次実行じゃなく、環境の中身の差分まで検出して変更するから、
Dockerより遥かに柔軟に実行してくれるよ
上の例のVagrant使う場合は、構築のテストも含む場合が多いから皆1から再度作る
>>33はそういうテストをする場合、Dockerでも同じという意味ね
もしかして、Chef使ったことない?
- 38 :login:Penguin:2014/07/21(月) 16:50:44.47 ID:CD3L4aLS.net
- 俺がChef等が意味不明だと思うのは、特別すぎる
言語を使わないといけないというところ。
だってさ本来OSのセットアップなんて、CLIから手動でやれてたわけじゃん?
その手動で入力したコマンドをsetup.shというスクリプトに
まとめて実行すればセットアップが完了できるわけじゃん?
なのにわざわざ別の言語を使うってのが意味不明なんだよね。
Ansibleは少しマシだけど、それでもまだ特殊。
Dockerfileはほぼスクリプト言語だよ。
コンテナ環境の外と通信するための命令が少しあるのと
はコマンド一行実行するごとにコミットする必要があるから、
コマンドの頭にRUN を書くことぐらい。
- 39 :login:Penguin:2014/07/21(月) 16:52:55.99 ID:0nx/kEDi.net
- >>35
インストールが不便って、snapshotからの適用もできるよ
起動は確かに遅いけど、動いてしまえはオーバーヘッドは少ないから、
実運用が不便になるよりはマシと思った
総評として、速度のためにそこまで面倒な事したくないなと思ったよ
過剰に擁護する人は、評判に振り回されてるだけでないかな?
- 40 :login:Penguin:2014/07/21(月) 16:56:28.27 ID:0nx/kEDi.net
- >>38
Chefはそこまで難しくないよ…食わず嫌いもいいとこ
それにRubyが嫌ならAnsibleって選択肢もあるよ
これはDockerfile程度の簡便さで書けるよ
総レス数 1000
293 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★