仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]©2ch.net

1デフォルトの名無しさん2017/02/16(木) 18:01:04.48ID:rGWDv0Eb
開発に仮想環境やコンテナを使う機会が多くなってきたので、みんなで情報交換しませう

よろしこ

598デフォルトの名無しさん2018/10/13(土) 04:06:41.09ID:4DTv/biP
dockerとvagrantという全く違うものを
比較している人に言われましてもw

599デフォルトの名無しさん2018/10/13(土) 10:23:57.31ID:YNebL+WU
用途がかぶる部分があるので比較する意味は有る

自転車、自動車、鉄道、飛行機は全く違うものだけど、移動するためのものという用途は同じ
旅行や通勤の際にこれらを比較する価値は大いに有る
vagrantとdockerも同様

600デフォルトの名無しさん2018/10/13(土) 11:20:42.44ID:yupcnuUE
自動車と運転手を比較してもな。

601デフォルトの名無しさん2018/10/13(土) 11:20:59.09ID:MAZOR1zR
基本的にはファイルシステムだけカプセル化してるんだっけか?
でもportなんかもカプセル化してるし、どこまでを閉じ込めてるか結構微妙。

602デフォルトの名無しさん2018/10/13(土) 12:11:11.17ID:4DTv/biP
>>601
アプリケーションを動かすのに必要なもののうちOS以外の部分を
アプリケーションに内包させていると考えればいい

603デフォルトの名無しさん2018/10/13(土) 12:14:09.83ID:4DTv/biP
>>599
なにかアプリを使おうと思った時、わざわざ別マシンを用意して別の環境で動かすのが仮想マシン

今自分が使ってる環境の上でアプリを起動するのがDocker

ぜんぜん違う

604デフォルトの名無しさん2018/10/13(土) 13:02:00.31ID:MAZOR1zR
>>601
そんな抽象的で意味のない答えは求めてない。

605デフォルトの名無しさん2018/10/13(土) 21:33:30.23ID:YNebL+WU
>>603
抽象化ができないエンジニアには難しいかも知れないが
ホストと隔離された環境でなんらかのアプリを使うという抽象的な目的は同じなんだよ
基本になってるテクノロジが違うけどそこは同じ
なので比較検討することには意味が有るわけだ

例えばローカル開発環境を構築するという抽象に対してDockerあるいはVagrantという具象が有る
もちろんそういう意味ではホストに必要なパッケージをインストールするだけの素朴な構成も比較検討に値する
完全仮想化とコンテナ仮想化は違う技術だから比較に値しないなんてのは表層しか捉えられないなにもわかってない人の発想なんだね

606デフォルトの名無しさん2018/10/13(土) 21:48:14.00ID:An0DfPZD
技術が違うんじゃなくて、目的が違う
ここまで理解能力がないと、本当に話にならない。

607デフォルトの名無しさん2018/10/13(土) 22:12:07.13ID:An0DfPZD
Dockerの典型的な利用例の一つは仮想マシン上でDockerコンテナを動かすこと
仮想マシンとDockerをごっちゃにしているやつはなんでそうするかを理解できない
目的が同じものなのになぜ2つのツールを同時に使うんだ?と思ってる

答えははっきりしてる。それこそ目的が違うものである証拠
Dockerを使うとアプリにそれを動かすのに必要なものがOS以外すべてバンドルされる。
それによってDockerさえ動いていれば、どこの環境にも同じDockerイメージを
持っていって使うことができる。この可搬性こそがDockerの目的

単純にVagrantを使うと特定のOS、ディストリ専用にVagrantfileを書かないといけなくなる
各OSでパッケージ名やデフォルト設定やパスなどが違ってるからだ。

そこで可搬性が高いDockerを併用すると、DockerのインストールまではOS、ディストリ依存に
なってしまうが、それ以降は全く同じ手順でDockerコンテナを起動することができる
Vagrantfileでいろいろ書く必要はないし、VagrantをAnsibleやChefと併用する必要もなくなる

もちろんVagrantを使わない環境、例えばAWSやGCPなどのクラウドでもあっても
今は直接Dockerイメージをサポートしてるのもあって、Dockerイメージを指定するだけでいい

Dockerは可搬性を高くするためのもの
仮想マシンはただのマシンでしか無いし、Vagrantは環境構築ツールでしかない
目的が全然違っている。

608デフォルトの名無しさん2018/10/13(土) 23:33:44.26ID:YNebL+WU
>>606
目的なんて無数にあるだろ
自分が考える目的以外の目的が存在するということすら想像できないようじゃ話にならない
本当に話しにならない

609デフォルトの名無しさん2018/10/13(土) 23:37:37.63ID:An0DfPZD
そうやって一般論でごまかすのやめーや

Dockerが考えてる目的を書いただけの話
別の目的に使おうというのなら、使いにくいのは当然だってことだ
少なくとも仮想マシンやVagrantとDockerの目的は違っている
お前の目的の話はしてない。Dockerの目的の話をしてる。

610デフォルトの名無しさん2018/10/13(土) 23:44:07.35ID:YNebL+WU
>>607
あらら、まだわからないのか

キミの言うところのDockerの高い可搬性を利用して、例えば開発環境を構築するという目的を達成するんだよ
そして開発環境を構築するという目的を解決する手段はDockerに限らずVagrantでもローカルでも構わない
だから比較検討して目的を達成するのにはどのテクノロジを採用するのがよいかを考えるわけだ

おそらくキミの中ではDockerはこの目的に使うもの、Vagrantはこの目的に使うもの
といったようにただ一つの絶対的な目的があるんだろうな
目的を解決する手段がいくつも有ること、ツールを使う目的はいくつも有ることに気付いていない
最低限そこに気付いてくれないと話しにならないよ

611デフォルトの名無しさん2018/10/13(土) 23:51:41.18ID:YNebL+WU
>>609
君のレスを引用すると「Dockerは可搬性を高くするもの」
これがDockerが考えている目的なわけだ(というか君の脳内のDocker社の考える目的というべきか)

じゃあ可搬性を高くしてどうするんだ?
その先の目的がまだあるだろ?
その目的は利用者が抱える課題によって様々なんだよ

612デフォルトの名無しさん2018/10/13(土) 23:52:12.52ID:An0DfPZD
> キミの言うところのDockerの高い可搬性を利用して、例えば開発環境を構築するという目的を達成するんだよ

自分で言ってる通りじゃないかw
Dockerの目的は高い可搬性を作る所まで。

Dockerを利用するってことは、別に作業があるんだろ?
その作業の目的が開発環境を構築することであって
Dockerを使う目的ではない


キミ、物事の本質を捉えられるようにならないとダメだよ

613デフォルトの名無しさん2018/10/13(土) 23:53:24.28ID:An0DfPZD
>>611
> じゃあ可搬性を高くしてどうするんだ?
> その先の目的がまだあるだろ?

その先の目的? 金を稼ぐってことかいな?
その理屈で言えば、どんな道具も目的は同じになるなw

614デフォルトの名無しさん2018/10/13(土) 23:58:24.68ID:YNebL+WU
今置かれてる状況がある
また解決したい何らかの問題がある
そして解決する手段が複数ある

ここまできて比較検討しないって言っちゃなんだけど技術者失格だろう?

非常に幸運で何らかのテクノロジ一択で業務全部をカバーできる
なんて状況でもなければ必ず比較検討が必要になる

615デフォルトの名無しさん2018/10/14(日) 00:00:31.63ID:mBxOrkWE
>>614
お前が物事の本質をわかってないだけ。

Dockerの目的は可搬性を上げるためだし、
テキストエディタの目的はテキストファイルを編集するもの

開発環境を作るために、テキストエディタを使うだろと
いくら吠えたって、テキストエディタの目的が開発環境を作ることにはならないのと
同じようにDockerの目的は開発環境の作成ではない

616デフォルトの名無しさん2018/10/14(日) 00:04:44.32ID:RzJcTIeH
>>612
>Dockerを利用するってことは、別に作業があるんだろ?
>その作業の目的が開発環境を構築することであって
>Dockerを使う目的ではない

開発環境構築は間違いなくDockerを使う目的の1つ

A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」

自然だね

A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」
A「そんなのはDockerの目的じゃない!」

アホかこいつ

617デフォルトの名無しさん2018/10/14(日) 00:06:49.52ID:RzJcTIeH
>>613
極論すればそうだな

どんな道具にも複数の利用目的が存在する
どんな目的にも解決手段は複数有る

だから比較検討するんだよ

618デフォルトの名無しさん2018/10/14(日) 00:10:20.62ID:RzJcTIeH
>>615
道具の目的は作成者や利用者の認識によって様々
テキストエディタの主目的は確かにテキストの編集だろう
だが目的はそれだけではなく人によってことなる
"誰か"の目的を押し付けるべきではない
"おまえ"の目的が全てではない
まずはこの基本的な事実から理解してくれ
話しにならないから

619デフォルトの名無しさん2018/10/14(日) 00:10:43.24ID:mBxOrkWE
> A「なんのためにDockerを採用したの?」
> B「開発環境構築のために採用しました」

採用と目的 は意味が違う
はい論破w

ジョークかよw
なんでこんな簡単な指摘をせにゃならんのだ

620デフォルトの名無しさん2018/10/14(日) 00:11:59.29ID:mBxOrkWE
ほんとさっきからDockerの目的を
違う話にすり替えようとしてるな。
バレバレやで

621デフォルトの名無しさん2018/10/14(日) 00:13:40.14ID:RzJcTIeH
>>619
「なんのために」って読めなかった?外国人?

622デフォルトの名無しさん2018/10/14(日) 00:14:12.92ID:mBxOrkWE
A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」
A「開発環境構築してるのは見ればわかる。それを行うに当たって
なんのためにDockerを採用したのか聞いてるんだが?」

普通は後期着替え得される

623デフォルトの名無しさん2018/10/14(日) 00:15:15.24ID:RzJcTIeH
>>620
すり替えてるのはAn0DfPZDだな
Dockerの利用目的などいくらでもあるのに、開発目的の1つでしかない高い可搬性を唯一絶対の目的のように、こいつはすり替えようとしている

624デフォルトの名無しさん2018/10/14(日) 00:15:16.71ID:mBxOrkWE
例えて言うなら

A「なんのために○○工法を採用したの?」
B「建造物構築のために採用しました」

こう言ってるようなもん

625デフォルトの名無しさん2018/10/14(日) 00:21:29.05ID:RzJcTIeH
>>622
A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」
A「開発環境構築してるのは見ればわかる。それを行うに当たって
なんのためにDockerを採用したのか聞いてるんだが?」

B「開発環境構築手段としてはVagrantやローカル環境へのバッチ処理適用などが候補に上がりました。
弊社の置かれる状況を踏まえて、それらを比較検討した上で、これこれこういうメリットがあると判断して、採用しました」

普通はこうなる
比較検討なんかしない、などというバカだったら採用理由にも説得力がなかっただろうね

開発環境に限った話ではないが、何かを決めるにあたって、検討した選択肢と採用した理由は関係者に対して必ず説明するものだ
業務で開発したことが有るならアタリマエのことだと思うが
もしかしてキミ仕事で開発したこと無い?あるいは一人で開発してるとか?

626デフォルトの名無しさん2018/10/14(日) 00:28:27.93ID:mBxOrkWE
>>625
> 普通はこうなる

前言撤回かよwwww

俺が間違いを指摘した後に慌てて後付して書くなって
ほんと恥ずかしいやつやなw
だいたい、その「これこれこういう」の中身が目的やろうが?

ちゃんと書けよ。Dockerを使うことで可搬性が高くなるというメリットがあるので
その目的のためにDockerを採用しましたって

627デフォルトの名無しさん2018/10/14(日) 00:36:36.30ID:RzJcTIeH
>>626
>「これこれこういう」の中身が目的やろうが?
「これこれこういう」は利用者の状況や課題によって様々
だから比較検討して答えをだすって何度もレスしとるだろうが
いい加減少しは理解してくれ
話しにならないとはまさにこのこと

628デフォルトの名無しさん2018/10/14(日) 20:01:17.80ID:TovYdN7f
なんか話が難しくなってきましたね
ひとまず、docker軽いですよ、vagrantに比べて
buildはややかかるけど、終わってしまえば、起動もさくっといきますよ

629デフォルトの名無しさん2018/10/14(日) 22:23:03.56ID:mBxOrkWE
何に使えるかと、何のための道具かってのをごっちゃにしてるやつのたわごとだからな。
Dockerはアプリケーションを仮想化するために作られた道具

その道具を使って金儲けができるからって、
いろんなものをごっちゃにしたらダメだって話

630デフォルトの名無しさん2018/10/14(日) 22:25:54.86ID:mBxOrkWE
>>628
> ひとまず、docker軽いですよ、vagrantに比べて
vagrantは開発環境を作る道具にすぎない。
Dockerと比べるものじゃない。

比較するならば、ホストマシンでアプリを動かす vs 仮想マシンでアプリを動かすだろ
ホストマシンでアプリを直接実行するほうが、仮想マシン上でアプリを動かすよりも軽い
といわれても当たり前でしか無い

631デフォルトの名無しさん2018/10/15(月) 00:07:39.55ID:37aK5NOi
うん、だからdockerの方が軽いんだよね?
当たり前でも何でも実際軽くて便利なんだからいいじゃないか

632デフォルトの名無しさん2018/10/15(月) 00:41:31.13ID:9UZy+Ppr
そりゃ仮想マシン使うよりも仮想マシン使わないほうが軽いだろう。
仮想マシン使わないで、普通にパッケージをインストールすれば良い

普通にパッケージをインストールすればいいのに
なぜDockerを使うのか?それこそがDockerを使う目的

633デフォルトの名無しさん2018/10/15(月) 18:32:47.56ID:YtsyH3sD
課題を解決する手段が複数ある
それぞれ一長一短で状況により正解は異なる
なので比較検討してどれを採用するか決める
これITに限らず一般常識ね

634デフォルトの名無しさん2018/10/15(月) 18:36:41.86ID:9UZy+Ppr
んで、今話してるのは手段ではなくて
Dockerは何をする道具かということ
本質をちゃんと見れないと道具は正しく使えない

635デフォルトの名無しさん2018/10/15(月) 18:41:05.65ID:YtsyH3sD
周回遅れだね

Dockerの特性は正しく理解した上で比較検討しようという段階の話をしてるので付いてきて

636デフォルトの名無しさん2018/10/15(月) 18:47:15.49ID:9UZy+Ppr
話を逸らすな。
Dockerはアプリケーションを仮想化する道具だって話をしてる

637デフォルトの名無しさん2018/10/15(月) 18:55:53.84ID:YtsyH3sD
お気の毒ですがそのような話をしているのはあなただけです
あなたはあなたが話ていることをみんなも話ているように錯覚しているようですが実は違うのです
まずは深呼吸して冷静になってください
会話が成立することを期待して待っています

638デフォルトの名無しさん2018/10/15(月) 19:00:16.10ID:9UZy+Ppr
>>637
お前、自分が一人だってわかってないのか?
誰か他に同調してくれるやついるか?

639デフォルトの名無しさん2018/10/15(月) 19:06:03.75ID:YtsyH3sD
>>638
dockerとvagrant(あるいは他の方法論)を比較するという文脈のレスは私のレス以外にも幾つもありますね
比較するのはおかしいという主張はどうやらあなただけのようですが

640デフォルトの名無しさん2018/10/15(月) 19:13:31.78ID:CIPQcDr6
docker vagrant 比較
ぐぐったらたくさん出てきた
ちなみに
docker vagrant 比較するのはおかしい
ぐぐったら”おかしい”が除外されて検索された
こりゃ勝負有ったね

641デフォルトの名無しさん2018/10/15(月) 19:18:29.88ID:9UZy+Ppr
>>639
それはお前の意見に同調してるわけじゃないだろw
頭悪いんちゃうか?

642デフォルトの名無しさん2018/10/15(月) 19:19:27.50ID:9UZy+Ppr
だいたい、さんざん仮想マシンと比較って言ってくせに
vagrantに言い換えてるし
仮想マシンとvagrantの違いもわかってないようだ

643デフォルトの名無しさん2018/10/15(月) 20:07:06.98ID:5g95lVcV
間を取ってLXCで

644デフォルトの名無しさん2018/10/15(月) 20:30:22.20ID:9UZy+Ppr
間っていうか、LXCはシステムコンテナだから、Dockerで仮想マシンのような間違った使い方を
使い方をしようとしている人は、LXCを使うべきだよ

645デフォルトの名無しさん2018/10/16(火) 00:27:22.18ID:8ZLfHmC4
PythonでJupyter Notebook使ったデータ解析環境をPC変更時に新PC上で手動で再現するのが面倒だからDocker上で動かすようにしてる

646デフォルトの名無しさん2018/10/16(火) 00:30:53.46ID:JHQMnpCL
Jupyter Notebookというアプリにそのアプリを動かすのに
必要なものを全部まとめてるわけだよね。
それが正しい使い方

647デフォルトの名無しさん2018/10/16(火) 02:50:30.16ID:+sj1AQoJ
そもそも再現性気にするくらいならjupyter使うのが間違ってるけどな。

648デフォルトの名無しさん2018/10/16(火) 03:32:28.53ID:JHQMnpCL
また再現性とか誰も必要だと言ってない話をし始めたw

新着レスの表示
レスを投稿する