2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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 ★