探検


Docker Part3

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
2019/03/08(金) 14:40:20.55ID:VDOvuQ0J
LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。

http://www.docker.io/

前スレ
Docker Part2
https://mao.5ch.net/test/read.cgi/linux/1506574845/
2019/11/30(土) 12:32:56.84ID:wFtP+/8O
>>347
「やる意味がわからない」っていうはお前の問題だろ。
お前が理解できないだけ。それはお前自信で解決しろ。

で、結局できないんでしょ?
その作ったOVAファイルを、AWSやGCPで動かす。
そしてそのOVAをWindowsやmacOSで動かすってことが
2019/11/30(土) 12:36:25.34ID:Se1bf1fg
>>345
その弊害としてmozcのような例が在る。
IaCを書いた人が継続的にメンテないないとbuildすら間々ならなくなる。
これはdockerの実践ガイドなんかにも書かれていたけど、dockerfileの
パブリックリポジトリ使うときはそのリポジトリのみならず、ubunntuならubuntu
なんかの「外部の」リポジトリに依存するから、ある日突然build出来なるなる事は
ある、だから一度build出来たらイメージをバックアップすべし、的なことを書いて
唖然としたわ。
mozcの人もメンテしてないようだけど、面倒くさいというか、そこまでやる価値ない
と思ったんだろうね。
2019/11/30(土) 12:37:23.01ID:Se1bf1fg
>>346
Macでは動かさない。ESXiだろ?
君が言っているのはDockerfileをvagrantで動かすにはどうしたら良いんだろうね?
と言っているに等しい。
2019/11/30(土) 12:39:21.74ID:Se1bf1fg
>>348
それがdockerのメリットなの?本当にその程度?
それなら、相当多くの人にとって別にdockerというのは有難がる
モノでも何でもない、という気しかしない。
2019/11/30(土) 12:49:11.25ID:wFtP+/8O
>>350
ほらもうできなくなったw
可搬性無いじゃん。ESXi使わないと動かないだろ。
そのESXiはWindowsのWSLなどと同居できない。
ライセンスの問題でクラウドのVMで使用できない。

>>351
> それがdockerのメリットなの?本当にその程度?
いや、もっとメリットは有る。
だからまず手始めに、そのOVAをイメージを一切変更することなく
WindowsやmacOSで動かす方法書いてみ
2019/11/30(土) 12:51:46.33ID:wFtP+/8O
>>349
> IaCを書いた人が継続的にメンテないないとbuildすら間々ならなくなる。
SSL証明書が古くなって接続先サーバーにに接続できないんだけど
仮想マシンでどうやって解決するの?w

まさかビルド済みのDockerイメージを使えば解決する話を出さないよね?w
2019/11/30(土) 12:53:07.86ID:wFtP+/8O
> mozcの人もメンテしてないようだけど、面倒くさいというか、そこまでやる価値ない
> と思ったんだろうね。

ブーメラン、ブーメラン

つまりVM作る価値がないからOVAファイルがないと?w
2019/11/30(土) 13:00:58.42ID:Se1bf1fg
>>352
>ほらもうできなくなった

おれ自身が普段使わない、という意味なんですが・・
MacにVMWwareWorkstation入れれば普通に動くだろ。
2019/11/30(土) 13:05:01.47ID:wFtP+/8O
>>355
普段使わないなら話にならんな。
俺が質問しても的はずれな答えしか来ないだろう。

お前が普段使っているのを言え
お前が俺の質問に正しく答えられると自身があるものを言え。
普段どのOSでOVAファイルを使ってるんだ?
2019/11/30(土) 13:06:00.15ID:Se1bf1fg
>>356
OVAとかは、これで終わりな。
可搬性がない、という事は当てはまらない。
以上。
2019/11/30(土) 13:09:21.10ID:wFtP+/8O
>>357
逃げるの?まだ質問の一歩目なんだけど?
その後いろいろとOVAではできないことがあるんだけど
2019/11/30(土) 13:12:49.45ID:Se1bf1fg
>>358
何つーか君のために、そんな作業するのがだるすぎる。
可搬性の話だよな?じゃあ、もっと手前で、

�@windowsにvmware workstation入れる。
�A何でも良いから適当にOSつくる
�Bそのファイルをマックにコピる。
�Cmacにvmware workstation入れる。
�Cマックで�Bを開く。

自分でやってみれば?
2019/11/30(土) 13:13:05.89ID:wFtP+/8O
OVAファイルではできないこと。
ブラウザから http://localhost:8080 で接続できない。

できるというのなら、その手順を一行で書いてみてね。

docker run -d -p 8080:8080 image
↑可搬性があるからこんなに簡単にできる。
どのOSでも同じやり方、ポート番号を変えたければ引数を変えるだけ

こんなのは序の口
2019/11/30(土) 13:14:11.73ID:wFtP+/8O
>>359

�@windowsにvmware workstation入れる。
�A何でも良いから適当にOSつくる ← ここが手動。これ笑う所なwwww
�Bそのファイルをマックにコピる。
�Cmacにvmware workstation入れる。
�Cマックで�Bを開く。
2019/11/30(土) 14:12:21.38ID:wMw6KZO2
>>340
> それ以外の人には殆ど関係ない。
あなたにとっては、少なくとも関係ないだけですね。
まぁ、頑張ってねっ!
2019/11/30(土) 14:21:12.49ID:vSs97oU5
>>360
>OVAファイルではできないこと。
>ブラウザから http://localhost:8080 で接続できない。

Serverspec でテストすれば?

command(コード)で、汎用コマンドも実行できる。
ping, wget, curl とか

Selenium WebDriver を使った、Ruby スクリプトも実行できるかな?
2019/11/30(土) 14:30:23.04ID:Se1bf1fg
>>361
OSの仮想化技術なんだから当然だろ?
君は何の技術か意味を理解しているの?
何かこういう書き込み見てると、コイツ何処まで理解して話してるんだろうな?と言う気がするね。
2つの全然違う技術をゴチャにしている

>>360
/etc/hosts

IPアドレス 起動したOS
http://起動したOS

> docker run -d -p 8080:8080 image

そもそもこんな事を書く必要は無い。遣りたければプロキシかませば?
言ってしまえばDockerが内部にリバースプロキシを持っているだけだけど、
これも、そうだね。存在しない問題に対するソリューション。
君はこれによって、何の問題を解決するんだい?

余程の事が無い限り誰もこんな事を遣りたいとは思わない。
余程の事が在る人は自前でリバースプロキシ構築する。
例えばMozcのDocker作った人がこれを有難がる事は絶対にない。

一方で標準としてネットワークをこの構成にしてしまった為に>>173と言う疑問はすぐに出る。
俺も全く同じ感想。

総じて君の言うdockerの利点はそもそも存在しない問題というか、恐ろしくニッチな何かに対する
利点を鬼の首でも取ったかの様に喧伝するから、こちらに全く伝わらない。

「Dcokerはこんなことが出来るから凄い」では無く、Dockerはこんな問題を解決しようとして、
XXと言う方式にしている、と言う言い方をしなければ、ごく一般的なITのエンジニアや顧客を
納得させることは出来ない。
2019/11/30(土) 15:23:51.62ID:3P4mm8Mh
>>364
>2つの全然違う技術をゴチャにしている
全くの別物であるdockerと汎用の仮想マシンを比較する意味なんてないからお前の疑問もまるごと解決だな
さようなら
2019/11/30(土) 15:52:23.55ID:wMw6KZO2
>>364
> ごく一般的なITのエンジニアや顧客を納得させることは出来ない。
別に納得させなくて良いよ。
2019/11/30(土) 15:56:34.15ID:Se1bf1fg
>>365
いやいや逃げなよ?まだ質問の一歩目なんだろw?
2019/11/30(土) 18:35:57.80ID:hmmzT75Z
まだやってんのかよ。
2019/11/30(土) 19:03:43.37ID:yxXUcR2F
>>363

> Serverspec でテストすれば?

? なに使ってもlocalhostで接続できないじゃん

>>364
> OSの仮想化技術なんだから当然だろ?

だからDockerとは違うって言ってるんだろ?
お前意味不明だな。Dockerと同じことができないって言ってるのに

「Dockerと同じことができる。でも仮想化技術なんだから、それはできない!」

だーかーらー、Dockerと同じことできないじゃんw


> そもそもこんな事を書く必要は無い。遣りたければプロキシかませば?
今できるかどうかの話をしてる。できないんだね?プロキシを自分で建てなきゃできないんだね?
ほらまた一つ。VMではできないことが増えたw
2019/11/30(土) 19:04:44.85ID:yxXUcR2F
仮想マシンを使った問題は、mozcの例でわかる。
仮想マシンじゃ、古いバイナリしか持っておけないんだよ。
最新のソースコードを持ってきてビルドしたいときに
古いOVAファイルは全く役たたない

これもVMでは無理なことの一つ
2019/11/30(土) 19:05:20.48ID:yxXUcR2F
なぜmozcを作ってる人は、仮想マシンを使わなかったのか?
理由はわかるよね?
2019/11/30(土) 19:06:16.12ID:yxXUcR2F
> 「Dcokerはこんなことが出来るから凄い」では無く、Dockerはこんな問題を解決しようとして、

だから、可搬性。
作ったイメージをあちこちに持っていける。

OVAファイルを作れば同じことができる?
どうやってawsやgcpで動かすのさ?
KVM使ってるんだぞ。
2019/11/30(土) 19:10:18.63ID:yxXUcR2F
さて、VMではできないこと=Dockerが解決してることを一つ追加。

Dockerは最新のソースコードから簡単に素早くビルドしてイメージを作ることができる。

仮想マシンはタダの仮想マシンでしかない。
仮想マシンを使っても、ビルド済みの古いバイナリしかとっておけない
新しいソースコードからイメージを生成できない。
2019/11/30(土) 21:36:34.56ID:Se1bf1fg
>>369
>お前意味不明だな。Dockerと同じことができないって言ってるのに
>「Dockerと同じことができる。でも仮想化技術なんだから、それはできない!」

お前が意味不明だろw
いつの間に何が出来て何が出来ない、と言う話になったのw?

>今できるかどうかの話をしてる。できないんだね?プロキシを自分で建てなきゃできないんだね?

Dockerはこれを標準で持ってしまっている為に余計な管理コストを強いている、
無ければ必要な人だけが学習して立てれば良いものを標準として強制するから、余計な
教育コストが掛かると>>173は言っている。

XXができてYYが出来ないと言う話をするのなら、Dockerは物理マシンA上に立てたAAと言うマシンが
物理B上に立ってたBBと言うマシンと通信したいと言うだけで、スゲー面倒くさいことをしなければならない。

>仮想マシンを使っても、ビルド済みの古いバイナリしかとっておけない

逆にdockerは古いビルドイメージ取っとくだけでスゲー苦労するじゃん
実務では、当たり前だが、そういう事は多く存在する。君の指摘は大体実務を無視してるけどね。
出来ないことの列挙もそう。普通に訊いて「だから何?」と思うものばかり。
2019/11/30(土) 21:38:30.14ID:Se1bf1fg
>>372
>OVAファイルを作れば同じことができる?
>どうやってawsやgcpで動かすのさ?

だから本番機と開発機は別だっていってるでしょ。
相変わらず、実務を無視した指摘ばっかりしている。
そこで可搬性が無いのは寧ろメリットだろ。
仮に、本番機を誰でもエクスポートしてローカルのVMなんかで
動かしたら情報漏洩が簡単すぎて大問題だわ。
2019/11/30(土) 21:55:36.92ID:3P4mm8Mh
とてもあたまがわるそう
377login:Penguin
垢版 |
2019/11/30(土) 22:01:48.14ID:kFO69wK3
亞北ネル
2019/11/30(土) 22:01:57.41ID:Se1bf1fg
まあネットワーク周りとか、どう見てもデメリットでしかないことを
XXが出来る!スゲーだろwとか言い出すからね・・・。
自分で問題を作って、その解決策を自分で提供して俺スゲーVMにゃ出来ねーだろとかw
訊いてるこっちはポカーンだよ。
2019/11/30(土) 23:15:10.01ID:ncKkDOM9
>>373
実務じゃ多少古くても動作確認済みのバイナリをとっておいて使うので、
動くか分からない最新ソースコードをネットから拾ってビルドなんて、実験段階のPoC作成ぐらいでしかやらない。

Dockerが好きなのは分かったけど、比較が素人丸出しだから、これ以上の恥の上塗りはやめた方がいいよ。
2019/12/01(日) 01:38:44.03ID:J+24ZJpj
やらないんじゃなくてできない
開発中に毎日数回ソースコードコミットしたら
新しくしなきゃいかんのに馬鹿じゃないのかこいつw

ここまで出たVMではできないこと・不便なこと

・VMイメージ(OVAファイル)を手動で作成する必要がある
・新しいソースコードからVMイメージをを作成できない
・ESXiが必要。KVM、HyperV、macOS上で動かない
・OVAファイルから手動で仮想マシンを作成しなければいけない
・仮想マシンに接続するときlocalhostで繋げない。プロキシを自分で設定する必要がる

まだまだ増えます。
2019/12/01(日) 01:42:31.81ID:J+24ZJpj
>>378
ネットワークは仮想マシン弱いよ?

例えばデータベースの仮想マシンを作る
アプリの仮想マシンを作る。
この二台の仮想マシンをどうやって接続する?

dockerは簡単に繋げられるし、変更もできるから
イメージに一切手を加えることなく、
開発時はローカルのMacに2つを動かして
本番環境では、別々の仮想マシン上に配置することができる
柔軟性が高い。
2019/12/01(日) 01:54:39.54ID:J+24ZJpj
>>374
> 逆にdockerは古いビルドイメージ取っとくだけでスゲー苦労するじゃん
何も大変なことはない。(プライベート)リポジトリにpushするだけ
OVAファイルは?いちいちファイル転送してダブルクリックするの?
dockerならrunするだけで新しいイメージも古いイメージも自由に使えるのに

> 仮に、本番機を誰でもエクスポートしてローカルのVMなんかで
VMはエクスポートするしか無いんだよなw
ソースコードからビルドするということができない
dockerでエクスポートなんかシない



リストに追加

ここまで出たVMではできないこと・不便なこと

・VMイメージ(OVAファイル)を手動で作成する必要がある
・ソースコードを新しくするたびにVMイメージを作成しなければいけない
・イメージが大きすぎて古いイメージをとっておくのが大変
・docker runのように簡単に新旧のイメージを使う方法がない
・ESXiが必要。KVM、HyperV、macOS上で動かない
・OVAファイルから手動で仮想マシンを作成しなければいけない
・仮想マシンに接続するときlocalhostで繋げない。プロキシを自分で設定する必要がる
・本番環境と開発環境で同じものを使えない
・環境を複製するときは既存のものをエクスポートしなければいけない。ゼロからの作り方がわからないから
2019/12/01(日) 07:42:09.12ID:OfIPuRU/
>>382
だから、何?
結論は?
2019/12/01(日) 08:25:46.95ID:qT+FNDQS
>>383
レス待ち。

最終的な答えは前から言ってる通り、VMはdockerの代わりにならないし
その逆にdockerもVMの代わりにならない。全く別のもの。
2019/12/01(日) 08:28:45.31ID:qT+FNDQS
あとdockerないと不便すぎる。VMイメージーのコピーなんてやってられない。
386login:Penguin
垢版 |
2019/12/01(日) 08:51:32.22ID:rd9VBfP6
ggrks
2019/12/01(日) 09:03:56.98ID:OfIPuRU/
>>384
つまり比較すること自体が無意味で
>>382
の書き込みはバカ丸出しということですね。
わかります。
2019/12/01(日) 09:07:11.27ID:qT+FNDQS
>>387
> つまり比較すること自体が無意味で
最初からそう言ってる。VMはDockerとはぜんぜん違う。

VMを持ち出してきて、dockerはいらないって言ったバカ丸出しはあいつ
>>382の書き込みはバカ丸出しに言ってる
2019/12/01(日) 09:12:03.19ID:qT+FNDQS
> Dockerはこれを標準で持ってしまっている為に余計な管理コストを強いている、
> 無ければ必要な人だけが学習して立てれば良いものを標準として強制するから、余計な
> 教育コストが掛かると>>173は言っている。

VMを使うと教育コストが掛からないとバカが言っている。
このことを覚えておこう。バカ丸出しにこれがブーメランとして帰ってくることになるだろう
2019/12/01(日) 09:15:57.89ID:OfIPuRU/
>>388
「狂人の真似とて大路を走らば、即ち狂人なり」
2019/12/01(日) 09:23:14.07ID:qT+FNDQS
>>390
もしかしてお前が、バカ丸出しのバカか?
さっさとレスしろ。VMはDockerの代わりにならんだろうが
2019/12/01(日) 09:33:00.07ID:OfIPuRU/
>>391
他人だよ

いつまで執着してるんだよ。
2019/12/01(日) 09:37:13.18ID:qT+FNDQS
この話題が出るたびだよw
2019/12/01(日) 09:53:26.67ID:fdPwLs/X
>>388
お前、>>167だろ?日本語読めずに勝手に脳内で変な補完して話すからすぐ分かるよ。

> VMを持ち出してきて、dockerはいらないって言ったバカ丸出しはあいつ

誰もこんな事は言ってない。
2019/12/01(日) 09:55:23.27ID:qT+FNDQS
結論 VMがあろうがなかろうがdockerは必要
396login:Penguin
垢版 |
2019/12/01(日) 09:55:33.94ID:Cg6x2/4w
Linuxディストリビューション自体の配布には使えないから
VMが無くなる事はない
でもアプリの配布は特にできない理由がない限りdockerイメージだな

Dockerイメージでやりにくいのはカーネル設定の指定
コンテナに特権を与えれば変更は出来るが、同一のマシンで動いているすべてのアプリケーションに影響を与えるので注意が必要

Elasticsearchのhelmチャートが
vm.max_map_countを変更するのに特権付きのコンテナを使うが
それが嫌な場合は自分でOSに設定すればよい
2019/12/01(日) 10:08:04.48ID:eVvGELNq
まだやってんのかよ(2回目)。
398login:Penguin
垢版 |
2019/12/01(日) 10:10:04.85ID:Cg6x2/4w
hyperkubeやk3sを使えばdockerでKubernetesを動かすことさえ可能
他のコンテナを立ち上げたりするので特権が必要だが
2019/12/01(日) 10:20:10.80ID:fdPwLs/X
>>395
多分君は、自分の出したdockerの利点に対する意見を否定されれた瞬間に
Docker自体を否定されたと感じているんだろうね。
否定しているのは君の意見、というだけだから。
2019/12/01(日) 10:47:05.98ID:s2QdG24G
>>375
それは管理ポリシーの問題じゃね?Linuxデスクトップは不便で利用者少ないからウィルスに強いと言っているのと同じだぞ

vmに対するdockerの利点で重要なのは開発者視点ではリソースを食わない=金がかからないことだろう
これはマンパワーの不足している現在経営的にも重要で
新興国の開発者を取り込むのにvmでは進まないのだ

新興国だけではないぞ
日本の新人開発者の多くはノートを好み貧弱な環境で開発している
vm動かすリソースは無い

dockerはマンパワーを得るためにも有効なのです
2019/12/01(日) 10:49:09.56ID:qT+FNDQS
>>399
俺が言ってる意見は、Dockerのメリットなのだから
俺の意見を否定することは、Dockerのメリットを否定することになるはずだが?

それとも、俺が言ってることとは別に、Dockerのメリットが他にあるって言いたいの?
俺の意見を否定して、Dockerを否定しないっていうのは、そういうことになるはずだけど
2019/12/01(日) 10:52:05.62ID:qT+FNDQS
ちなみに俺はDockerのメリットをまだ全て書いてない
2019/12/01(日) 10:56:37.76ID:qT+FNDQS
あと(あのバカが)「VMでも(頑張れば)できる」って言ってるだけで
俺が言ってるDockerのメリットを否定されたところはないはずだけど?
2019/12/01(日) 12:32:43.88ID:PHV1P7RT
折角の休み、他にやることないのかね?
2019/12/01(日) 13:06:52.24ID:fdPwLs/X
>>401
>俺の意見を否定することは、Dockerのメリットを否定することになるはずだが?
>
>それとも、俺が言ってることとは別に、Dockerのメリットが他にあるって言いたいの?
>俺の意見を否定して、Dockerを否定しないっていうのは、そういうことになるはずだけど

君はボッチでニートだから、そういう事になるんだろうけど、普通のITエンジニアは
会社単位で動くからね。Dockerへの移行は会社が決めたこと。確かに、今の利用者の
伸び率を見ているとシステム全体でやがて100台超えるサーバーにはなりそうだし、
社長の意向は世界展開したいとか言っているので、やがて1000台になる可能性はある。
DevOps/CircleCIのイチ技術としてDockerが入り込むのは、当然だなと。
だから別に最初からDockerを否定する気は全くない。そんな話はしていない。
ただ癖が強すぎるし、VMと比べて何故ここまで違いが大きいのかといった、当然の疑問に
誰も答えないから、話が長引いていると言うだけ。
ずっとそういう比較をしていたはずだが?
406915
垢版 |
2019/12/01(日) 13:10:57.68ID:pfsfGZDp
packer使えばVirtualboxでもESXiでもAWSでもGCPでもDockerでもなんでもよくなるよ
2019/12/01(日) 14:08:56.09ID:UP4b2tw0
俺が納得できない=答えない
この思考パターンの人間は相手にするだけ無駄
特にネットでは
2019/12/01(日) 14:55:31.87ID:jBK+RpjH
ええやん、別に VM でやりたければ、やればよいだけ。

Docker を使っても分からんやつは、分からんだけ。
Docker を使って分かるやつは、分かる。

VM を使っても分からんやつは、分からんだけ。
VM を使って分つやつは、分かる。

まぁ、VM を頑張ってね!
2019/12/01(日) 18:30:04.40ID:qT+FNDQS
>>405
お前は悪口しか言わないな(笑) 品性の低さが溢れ出てる。

Mozcの例から理解しなかったのかな? Mozcのビルドのどこにクラウドが関係してる?
100台のサーバーとかDevOpsとかCircleCIとか言ってるが、
Mozcのビルドとは関係ないぞ。Dockerfileのおかげで簡単にビルドができた。
(ビルドスクリプトが古いという問題はDockerと関係ない。
実機でもVMでも最新のソースから新しいビルドを作成したら同じことになる)

お前の頭の中からにはこの使い方が完全に抜け落ちてるんだわ
そういうやつが語っても説得力無いよ。

VMとDockerは組み合わせて使うもの。最初から俺はそう言ってる。

Docker (前々スレ。何年前だよw)
https://mao.5ch.net/test/read.cgi/linux/1374861492/760
> 760 名前:login:Penguin[sage] 投稿日:2016/10/30(日) 19:57:56.57 ID:PgdoAzbd [1/2]
> AMI or Dockerじゃないんだよ。
>
> AMI + Dockerというふうに組み合わせて使うんだよ。
> っていうかDockerだけじゃ使えない。
2019/12/01(日) 18:31:46.98ID:qT+FNDQS
当時はDockerだけじゃ使えないと書いているが、
今は、Dockerイメージをそのまま動かすサービスが生まれてるな。
まあもちろん実際にはその下にVMがいるわけだけど。
Dockerイメージを指定するだけで動かせるという意味ね。
2019/12/01(日) 18:34:10.59ID:qT+FNDQS
>>405
> ただ癖が強すぎるし、VMと比べて何故ここまで違いが大きいのかといった、当然の疑問に

VMと全く別のものだから
違うも何も、別のものだから違って当たり前

初心者は勘違いしてVMと比べてしまうが、そもそもDockerはVMとは関係ないものだから
俺は違いがどうとか比較なんかしてない。お前は初心者から抜け出せてないんだよ。
412login:Penguin
垢版 |
2019/12/01(日) 23:16:07.98ID:fdPwLs/X
>>409
相変わらずお前はズレまくってるな!w
もうマジでこの件に関するDockerに出てくるDocker特有の問題はDockerのせいじゃなく、
VMに関する全ての操作はやってられないとw。

>Mozcの例から理解しなかったのかな?
これも
>お前の頭の中からにはこの使い方が完全に抜け落ちてるんだわ
これも君にそっくり返すよW
もうお前はレスするなw馬鹿すぎて話にならない。
ボッチでニートで実務経験に乏しすぎるお前じゃ、俺が何も止めているのか絶対にわからないw
話をしても無駄だから話はしないw

>> AMI + Dockerというふうに組み合わせて使うんだよ。

うん、正にそういうことだね。
おれはお前以外の人の書き込みからそれを学んで、心から納得したよ。
お前の書き込み「だけ」ズレすぎているし一人よがり過ぎるから、その点で突っ込まずにはいられなかった、と言うだけ。
2019/12/01(日) 23:19:09.03ID:YiJOHqAn
>>412のレスについて

ズレまくってると言うばかりで、どこがズレてるのか言わない。
相変わらず、俺に対して、何も指摘できていない。
ただただ、文句を言うばかり。
2019/12/01(日) 23:20:20.84ID:YiJOHqAn
> VMに関する全ての操作はやってられないとw。
VMは関係ないと言ってるのに、またVMの話を持ち出す。
全ての操作はやってられないなどと俺は言ってない。全部>>412の思い込み。
2019/12/01(日) 23:41:50.11ID:Y8NJ61TV
Ruby 製のVagrant の作者、HashiCorp のMitchell Hashimoto は、今世紀最大の起業家!
今は、Go 製のTerraform, Packer を作っている

彼が時代の中心だから、彼についていけばよい

他には、CircleCI, GitHub Actions
2019/12/01(日) 23:55:04.57ID:YiJOHqAn
> おれはお前以外の人の書き込みからそれを学んで、心から納得したよ。

ようやくVMとDockerは使い方が違う。組み合わせて使うものと理解したようだが
お前のその書き込みは「お前から学んだということは認めたくない」と言うためだけの書き込みだなw

「組み合わせて使う」と書き込んでるのはたいてい俺だと思うけど、
俺以外の書き込みから学んだとは、一体どの書き込みから学んだんだろうか?
指摘してみてほしいところだが、ま、いえないよなぁw
2019/12/01(日) 23:59:45.78ID:YiJOHqAn
>>415
CircleCIもGitHub ActionsもDockerベース

CircleCIは2.0でDockerベースに変わったし、
GitHub Actionsは以前はDockerfileが必須だった。

Packerも随分前からDockerイメージを作れる
(Packerはしばらく使ってないが、dockerのキャッシュ使うようになった?
正直これができないと、使い物にならないレベルなんだけど)

Terraformはすまんね。知らない。

世の中Dockerだらけw
418417
垢版 |
2019/12/02(月) 00:04:37.15ID:iQ/jQknl
VagrantはVirtualBoxがHyperVと共存できないから使うのやめたな。
Vagrant+HyperVという使い方ができるのは知ってるけど、
WSLができてWindowsがLinux同等に使えるようになったから実機で必要十分になった。
(Macはもとより実機で開発。もちろんDockerはWindowsでもMacでも使える。)
わざわざ開発マシン(実機)の中に、別の開発マシン(VM)を作るという二重構成にする必要がない。
419login:Penguin
垢版 |
2019/12/02(月) 09:24:17.50ID:UZ4iaYjq
Windowsでdocker自体を動かすのには
さすがに仮想マシンが必要
ホストOSもLinuxなら要らない

Docker for WindowsはLinux使うからHyper-Vが必要
WSL2もHyper-Vを利用する

WSL2は必要なHyper-V機能の一部がHome Editionにも配布されるので
Homeでも利用可能になる

仮想マシンを利用する方式に変更した事で
WSL1では動かなかったdockerもWSL2では使えるようになった
420login:Penguin
垢版 |
2019/12/02(月) 15:23:52.09ID:cX5TDnkz
GAFAMは普通にDockerの考え方に順応して使ってるよな

最近出てきた訳でもない
登場してかなり経つ安定した技術なのに
まだ全く使ってないというのは流石に頭硬すぎ
2019/12/02(月) 21:16:18.41ID:nGJwV5Oa
GoogleはDockerが登場する前からコンテナ使ってたらしいしな
そういう所は今、一日に何十回(何百回?)もデプロイしてる。

古いやり方、多くても一ヶ月に一回、一週間前までにデプロイ計画立てて
サービス停止して深夜作業でデプロイするようなやり方では到底無理

顧客も賢くなってきてるから、丁寧にやってるから遅いんですよとかいう
言い訳はもう通じなくなってる。

みんながコンテナ使ってる中、あなたはコンテナ使わずに
同じぐらいの速度で開発ができますか?ってことだよ。
2019/12/03(火) 00:34:18.03ID:tig7/aUP
オフラインで使う組み込み系だと開発環境構築をちょっと楽するぐらいしか使い道ないわ
423login:Penguin
垢版 |
2020/01/04(土) 16:07:12.22ID:IuViAdEQ
1. あるマシンに他ユーザーから隠しておきたい秘密情報のファイルがある
2. rootから隠すことはできない。
3. だから他ユーザーはrootになったりsudoが使えてはいけない。(自分はなって良い)
4. ユーザーがdockerを使えるということはrootの権限があるのと同じことである
(例えばボリュームを使えば、どのディレクトリも読み書きができる。)
5. dockerグループに追加してdockerコマンドの実行にsudoを不要にした所でそれは変わらない

以上のことから、あるマシンに他ユーザーから隠しておきたい秘密情報がある場合は
そのマシンで他にdockerが使えるユーザーがいてはならない

言い換えると、自分以外のdocker使用者がいる場合はそのマシンに秘密情報を置くことができないので
「秘密情報を置いて安全に管理してる」ならば「他に自分以外のdocker使用者がいない」を意味する

あってるよね?
424login:Penguin
垢版 |
2020/01/04(土) 16:20:38.88ID:IuViAdEQ
dockerサーバーがリモートにある場合がよくわからないんだよな

マシンAとマシンBがあってそれぞれ所有者は異なる。
dockerサーバーがリモートにあって
マシンAとマシンBの両方から接続する

ん?ローカルのディレクトリってリモートマシンのボリュームにできるの?

マシンAがdockerサーバーでコンテナを作ったとして、
マシンBが同じdockerサーバーに接続したらそのコンテナは見えてしまうのか?
つまりdocker execで乗り込めてしまうのか?

もしできてしまったら、マシンAが渡したボリュームにたいして
マシンBから読み書きできてしまう?

どこかで実験したいな
2020/01/04(土) 23:16:07.85ID:4WXnY3BD
ローカルをリモートのボリュームには通常できないでしょう。
2020/01/05(日) 09:23:16.08ID:sWW1tNjy
>>425
NFSやらSMBやらで共有するという話ではなくて?
427login:Penguin
垢版 |
2020/01/05(日) 16:26:28.41ID:PM+h1CUF
>>425
そのとおりでした。なんか勘違いしてましたね。

つまりはDockerサーバーにアクセスできるユーザーは
そのDockerサーバーが動いているマシンのroot権限を
持ってるのに等しいと理解しました。

だから例えばCIサービスとかを作るとして、複数の人が同じサーバーで
コンテナを動かす場合、Dockerに直接接続させてはならないわけですね。
ウェブインターフェースやRESTインターフェースをもたせて
そこで認証かけて、やれることも制限しろと
2020/01/05(日) 18:41:47.66ID:6QavSJIx
root持ってりゃdocker停止もアンインストールもOSシャットダウンもできるわけなので
2020/01/05(日) 21:24:00.57ID:p4jkzryR
docker composeがルート権限必要だから、AとBでコンテナ作れたらどちらでもなんでもありになる。
2020/01/05(日) 22:06:51.29ID:9zcJiqAl
あれ非特権モードでも?
431429
垢版 |
2020/01/05(日) 22:28:17.96ID:p4jkzryR
Docker19.03からルート権限不要モードが追加されたんだな。>>429は誤情報。
2020/01/05(日) 22:30:34.66ID:IPuUazgK
ルート権限が不要ってだけで
同じdockerサーバーに接続してるユーザー同士で
隠し事はできないよね?
2020/01/05(日) 22:44:47.94ID:IPuUazgK
あるユーザーがDockerを起動して
同じホストの他のユーザーはそのDockerに接続できるのだろうか?
接続できてしまったら、あるユーザーのファイルは読み書きし放題?
2020/01/05(日) 22:50:31.17ID:IPuUazgK
そうか、MySQLなんかと何が違うのかと思ったら
Dockerって認証がないのか。無いよね?
435429
垢版 |
2020/01/05(日) 23:36:13.44ID:p4jkzryR
ルートレスモードは分からないが、通常モードはその通り。マルチユーザー向きではない。

実験した方が早いのでは?ルートレスをインストールして、
ubuntu 辺りで二つアカウント作って、
それぞれのコンテナにアクセスできるかどうか。
2020/01/06(月) 08:12:36.75ID:/JEJvQJG
Docker Toolbox (windows)使ってる人いる?

docker run -v /:/mnt -it alpine ls -al /mnt
の結果が見たいんだけど誰か貼り付けてくれない?

ちなみにDocker Desktop for Windowsの場合
total 8494
drwxr-xr-x 1 root root 280 Jan 4 19:54 .
drwxr-xr-x 1 root root 4096 Jan 5 23:10 ..
lrwxrwxrwx 1 root root 11 Jan 4 19:54 C -> /host_mnt/c
drwxr-xr-x 2 root root 14336 Nov 13 09:39 bin
lrwxrwxrwx 1 root root 11 Jan 4 19:54 c -> /host_mnt/c
drwxr-xr-x 11 root root 2960 Jan 4 19:54 dev
drwxr-xr-x 1 root root 180 Jan 4 19:54 etc
drwxr-xr-x 1 root root 60 Jan 5 22:08 home
drw-r--r-- 3 root root 60 Jan 4 19:54 host_mnt
drwxr-xr-x 1 root root 60 Jan 4 19:54 lib
drwxr-xr-x 5 root root 2048 Nov 13 09:39 media
drwxr-xr-x 2 root root 2048 Nov 13 09:39 mnt
drwxr-xr-x 1 root root 80 Jan 4 19:54 opt
dr-xr-xr-x 174 root root 0 Jan 5 04:53 proc
drwx------ 1 root root 60 Jan 4 19:54 root
drwxr-xr-x 1 root root 140 Jan 4 19:54 run
drwxr-xr-x 2 root root 30720 Nov 13 09:39 sbin
-rwxr-xr-x 1 root root 8640280 Nov 6 09:27 sendtohost
drwxr-xr-x 2 root root 2048 Nov 13 09:39 srv
dr-xr-xr-x 13 root root 0 Jan 5 21:55 sys
drwxrwxrwt 1 root root 40 Jan 5 23:10 tmp
drwxr-xr-x 1 root root 80 Nov 13 09:39 usr
drwxr-xr-x 13 root root 2048 Nov 13 09:39 var
2020/01/06(月) 08:41:19.24ID:/JEJvQJG
Docker Desktop for WSL2ってWSL2の中のディレクトリもボリュームに指定できるっぽい?
2020/01/06(月) 08:54:42.63ID:OVK7howH
ただのVMなんだからできないわけがないだろう
2020/01/06(月) 09:09:29.13ID:/JEJvQJG
>>437
WSL1もVMだよ?

現行のDocker Desktop for Windowsではdocker専用のVMを使っていて、
Docker Desktop for WSL2では、WSLすべてで一つのVMを共有しているからできるのかな?
2020/01/06(月) 09:09:40.26ID:/JEJvQJG
>>438あての間違い
2020/01/06(月) 09:10:28.32ID:/JEJvQJG
もう一つ訂正
× WSL1もVMだよ?
○ Docker Desktop for WindowsもVMだよ?
WSL1はVMではないね
2020/01/06(月) 09:12:31.58ID:2KANC7Df
よく知らんがwslのディレクトリをwinからマウント出来るのであれば可能なんじゃないの?試して教えて
2020/01/06(月) 09:13:49.21ID:/JEJvQJG
でもまあ、すべてのWSLのインスタンスd一つのVMを共有しているからと言って
そのWSLはコンテナ技術で分離されてるはずなんだから、そう単純にはいかないはずなんだがな
/mnt/wslに他のWSLのコンテナのディレクトリらしきものが見えてるし
WSLのコンテナ間でディレクトリを共有する技術がWSL2にあるんだろうな
2020/01/06(月) 09:18:27.00ID:/JEJvQJG
WSL2のubuntuのマウント状況

$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sdd ext4 263174212 1396116 248339940 1% /
tmpfs tmpfs 1633568 0 1633568 0% /mnt/wsl
tools 9p 66509328 30595464 35913864 47% /init
none devtmpfs 1631092 0 1631092 0% /dev
none tmpfs 1633568 8 1633560 1% /run
none tmpfs 1633568 0 1633568 0% /run/lock
none tmpfs 1633568 0 1633568 0% /run/shm
none tmpfs 1633568 0 1633568 0% /run/user
tmpfs tmpfs 1633568 0 1633568 0% /sys/fs/cgroup
C:\ 9p 66509328 30595464 35913864 47% /mnt/c
/dev/sdc ext4 263174212 1545568 248190488 1% /mnt/wsl/docker-desktop-data/isocache
/dev/sdb ext4 263174212 123192 249612864 1% /mnt/wsl/docker-desktop/shared-sockets
/dev/loop0 iso9660 248570 248570 0 100% /mnt/wsl/docker-desktop/cli-tools

/mnt/wsl/docker-desktop-dataとかって/dev/sdcでext4なのか
ちょっと想定外だったw これ他のコンテナじゃなさそう。
WSLに割り当てたディスクなのかも
2020/01/08(水) 15:48:58.62ID:ksPzE1/R
あるコンテナを--restart=alwaysで自動起動するタイミングで、ホスト側でコマンドを実行させる方法ってありますか?

「そのコンテナが起動したら、ホストのスタティックルートをコンテナのIPに向ける」
という条件を実現したいです。

これまでは --restart=always を使っておらず、スクリプトでいちいちコンテナを起動していました。
それならスクリプト内にrouteコマンドを仕込んでおくだけで簡単だったんですが。
2020/01/08(水) 15:52:55.36ID:wWoUnX7g
そんな面倒なことしなくても普通に固定IP振ればいいだけでは
2020/01/08(水) 16:50:00.22ID:ksPzE1/R
コンテナでOpenVPN動かしてて、そのVPN先までルートを通したいんですよね。
コンテナには固定IP振ってるんですが、そもそもその固定IPがDockerネットワークなので
OS起動時には存在せず、OS起動時のルーティングは切れない、と。

コンテナに物理NWのIPを振るとか
ホストでcron回すとか割と泥臭いことやれば解決できると思うんですが、
なんかもっとスマートな方法ないかな…と。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況