X



トップページLinux
1002コメント360KB

Docker Part4

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
垢版 |
2020/08/17(月) 00:19:36.93ID:PKLBL3Xf
Linuxが持つコンテナ技術を使った、仮想マシン必要ないアプリケーション仮想化技術で
アプリケーションのデプロイが用意になります

Docker(アプリ仮想化)は仮想マシンと併用して使うことで最も効果を発揮し
開発・テストで使ったDockerイメージと全く同じものを本番環境で使えます
さらにWindowsとmacOSでも同じDockerイメージが動きます。
(Linuxは仮想マシンが不要ですが、WindowsとmacOSは仮想マシン技術を併用して実現しています。)

Dockerイメージ(Dockerfile)はアプリケーション開発者が作成します
動かすのに必要なもの全てがDockerイメージに含まれるので
インフラ担当者はそれを動かすだけ、本来のインフラの作業に集中できるようになります

Dockerは主にウェブ業界でサービスのデプロイの必須技術になりました
情報共有しましょう

http://www.docker.io/

前スレ
Docker Part3
https://mao.5ch.net/test/read.cgi/linux/1552023620/


注意 同じコンテナ技術を使うが異なるアプローチで仮想マシンの
代替を目指しているのがLXC。目的が全く異なるので注意
LXC(Linux Containers)
https://mao.5ch.net/test/read.cgi/linux/1330826939/
0102login:Penguin
垢版 |
2020/08/28(金) 15:05:43.38ID:PXYaUzYG
いやいやそうじゃなくてオープンソースのツールとかあるだろ
ネット遮断でもしてんのかお前んとこ
0104login:Penguin
垢版 |
2020/08/28(金) 16:42:15.83ID:zYE9gZVL
>>102
オープンソースのものを自分でDockerfile作る意味は?
殆どのものは公式が用意してるでしょ
0105login:Penguin
垢版 |
2020/08/28(金) 17:18:56.97ID:O2BsRo2K
>>104
公式サポートない物もいくらでもある
それに組み合わせて使えないからマージしたいときは自分で作らなきゃならん
なんでこんな基本的なこと説明してやらんといかんのだ?
0106login:Penguin
垢版 |
2020/08/28(金) 17:54:34.31ID:MXNSOP9Y
いや、自分で「マージしたDockerfile」作れよ
それが自動でできなくてゴネてるの?
0108login:Penguin
垢版 |
2020/08/28(金) 18:56:59.61ID:NRktIr3W
go製ツールならバイナリ落としてくればすぐ動くが

Pvthonとかのスクリプト言語を使う系や
C/C++で書かれている物はそうも行かない

パッケージマネージャにあれば良いが
あっても古い、このパッケージもインストール必要とか面倒

glibc使ってるC/C++製ツールで動的リンクしてたら
alpineにそのまま持って行っても動かない
muslで再コンパイルするか
イメージサイズの肥大化を覚悟でglibcを入れる必要がある
0109login:Penguin
垢版 |
2020/08/28(金) 18:58:16.88ID:NRktIr3W
OSに最初から入ってるツールの扱いはどうするのか?とか考えたら
自動的にマージできるとか思うわけない
Dockerからしたら全てただのファイルであり
依存関係も把握してないし区別もしない
0110login:Penguin
垢版 |
2020/08/28(金) 19:30:51.61ID:D6h6IbAl
結局のところ必要だったのはdockerじゃなくてより賢いパッケージマネージャだったんだよな
方向性としてはsnapなどのほうが正しかった
0111login:Penguin
垢版 |
2020/08/28(金) 19:36:14.75ID:MXNSOP9Y
賢いパッケージマネージャよりdockerが便利
0112login:Penguin
垢版 |
2020/08/28(金) 19:51:21.67ID:zYE9gZVL
>>105
> それに組み合わせて使えないからマージしたいときは自分で作らなきゃならん
docker-compose使えよ

1つのコンテナに複数のサービスを入れ込もうとしているからそうなるんやで?
ベストプラクティス通り1コンテナ1サービスにすれば
既存のものをそのままつかえるのに

ベストプラクティスから外れることを自分でしておいて
自分が苦労してるのって間抜けじゃねーか?w
0113login:Penguin
垢版 |
2020/08/28(金) 19:54:28.35ID:zYE9gZVL
>>110
Dockerはパッケージマネージャーが対応してないような
自分(自社)で開発したアプリケーションを使って
自分でサービスを運営するためのパッケージマネージャーです
開発者向けのツールです。

snapはアプリ開発者がエンドユーザーにアプリケーションを
提供するためのもの。用途が全く違います。
0114login:Penguin
垢版 |
2020/08/28(金) 20:05:13.75ID:a9bICJj+
apacheのバーチャルホストで20個のサイトを運営するのと
1つのイメージを使って1コンテナ1サイトを作るのでは
どっちがメモリとCPU使用率が高いですか?
0115login:Penguin
垢版 |
2020/08/28(金) 20:09:08.36ID:zYE9gZVL
メモリとCPU使用率が重要なら、
1つのイメージを使って1コンテナ20サイトを作れば?
0116login:Penguin
垢版 |
2020/08/28(金) 20:18:24.20ID:zYE9gZVL
1コンテナ1サイトって発想が出るのもやっぱりいつもの
Dockerを仮想マシンの代わりだと思ってるからなんだろうか?

Dockerはアプリの代わりと考えれば、この場合apacheだとわかる
1つのapacheアプリでバーチャルホストをするのであれば
Dockerの1つのapacheアプリでバーチャルホストをすればいいだけ

そのバーチャルホストの設定を予め終わらせておいた
カスタマイズ済みapacheを簡単にデプロできるのが
Dockerのメリットなわけで
0117login:Penguin
垢版 |
2020/08/28(金) 20:33:37.75ID:pZN+Qti3
1サイトをバックエンドとフロントエンドとDBに分けても良いよ?
0118login:Penguin
垢版 |
2020/08/28(金) 21:09:45.85ID:D6h6IbAl
>>112
アホか
何でもかんでもサービスにしたら効率が悪いこともある
0119login:Penguin
垢版 |
2020/08/28(金) 21:24:17.90ID:MSjqCkB+
何か変なのがいる。この後どうなるか楽しみ。
0120login:Penguin
垢版 |
2020/08/28(金) 21:44:32.85ID:7j4VCa1Z
メインの言語でwebアプリを作って内部で別言語製のCLIツールを呼び出すようなシステム
業務システムなら普通にあるよなあ

別言語でapi鯖構築してメイン言語と別言語の2コンテナ構成にするって手もないこたないけど
そのためにワザワザ別言語とそのweb apiフレームワークを習得するのはコスパ悪いだろ

こういうときは1つのコンテナに複数の言語ランタイムやパッケージをまとめちゃって素直にサブプロセス呼んだほうが製造コスパがいい

んでそういうときに公式イメージのマージができたら便利なんだがサポートされてないからDockerfileをワザワザ書かなきゃならん
コンテナを分離する間抜けなアイデアよりは遥かに楽だけどそれでもDockerfileを書く手間は残る
0121login:Penguin
垢版 |
2020/08/28(金) 21:50:52.82ID:7j4VCa1Z
>>112
ベストプラクティスは1コンテナ1責務だ

素人は1コンテナ1プロセスと間違って覚える
脱初心者を目指してるぐらいのレベルだと1コンテナ1サービスとか言い始める
0123login:Penguin
垢版 |
2020/08/28(金) 23:55:41.73ID:wNNnqhGV
この明後日の方向に突っ走る感じ
0124login:Penguin
垢版 |
2020/08/29(土) 00:15:42.01ID:kVmc/kdt
Dockerだけで云々言っている人は、
オーケストレーションまで頭がまわらないだろうし、
どないしようもないと思う。
CRIだけの世界でせいぜいがんばってください。
0125login:Penguin
垢版 |
2020/08/29(土) 12:47:38.53ID:74MbloCF
COPY --from=some/image /source/path /dest/path

Docddkerfileにこれを書いておけば
some/imageという既存Dockerイメージからファイルをコピー出来るぞ

依存関係が色々あって何をコピーしたいかわからない場合は知らん
0126login:Penguin
垢版 |
2020/08/29(土) 12:53:15.26ID:Qqt2hfOB
マージ君は自動でやってほしいんだからそんなもんお呼びでないだろう
0127login:Penguin
垢版 |
2020/08/29(土) 14:16:12.70ID:n8QTuXNc
>>125
マージには役に立たんわ
そもそも必要なファイルがどこにあるか探すのめんどくせぇーだろ

欲しいのはレイヤーをコピペする機能だよ
それかdocker最適化されたパッケージマネージャでもいいかな
0128login:Penguin
垢版 |
2020/08/29(土) 14:43:35.16ID:n8QTuXNc
俺たちが本当に欲しかったのってこれな

FROM alpine:latest

# ディストリ差異対応とか依存関係解決とか環境変数とかボリュームとかキャッシュクリアとかよしなにやってくれる素晴らしいdockerfile専用パッケージマネージャ
PACKAGE openjdk:11 somevendor/somepythonclitool:latest

COPY bin /myapp
ENTRYPOINT /myapp/entrypoint.sh

openjdkイメージとsomepythonclitoolイメージって形式でリリースしちゃったら再利用性が低すぎるんだわ
0129login:Penguin
垢版 |
2020/08/29(土) 15:25:53.56ID:CyY7ymQE
>>128
Dockerは○○専用に作るものなのに
それをなにに再利用するんだよw
0130login:Penguin
垢版 |
2020/08/29(土) 15:44:17.82ID:n8QTuXNc
>>129
世の中なんの外部依存関係もないピュアなアプリケーションだけじゃない
そしてすべての外部依存関係がネットワークを通じて呼び出せるエンドポイントを持っているわけじゃない
こんな基本的なことをなんで説明しなきゃわからないんだ
0131login:Penguin
垢版 |
2020/08/29(土) 15:49:27.91ID:Qqt2hfOB
「よしなに」が仕様のツール誰が作るの
トラブったら>>128みたいなのに文句言われるんだろ
0132login:Penguin
垢版 |
2020/08/29(土) 16:01:10.44ID:n8QTuXNc
>>131
docker公式かツールベンダが作るんだよ当たり前だろ
0133login:Penguin
垢版 |
2020/08/29(土) 20:04:21.86ID:MO1Uvs8e
>>130
反論に全くなってないけど、だから何?
0135login:Penguin
垢版 |
2020/08/29(土) 23:00:45.88ID:MO1Uvs8e
ほらな、説明できない(笑)
言ってることが不明瞭の場合は聞き返してみるに限るね
0136login:Penguin
垢版 |
2020/08/29(土) 23:05:08.39ID:lTv/US4g
はぁ…┐(´д`)┌ヤレヤレ
>>130だから同じイメージに複数のパッケージを入れて環境変数やボリューム設定をするというユースケースが当たり前のように出てくる
そのためにはimageではなくパッケージって単位で再利用できねーと非効率的なんだよ
わかったかなボウヤ
0137login:Penguin
垢版 |
2020/08/29(土) 23:07:06.17ID:MO1Uvs8e
>>136
主張を繰り返せって言ってるんじゃなくて
主張の理由を言えって言ってんの
ほんと会話ができんやつだなw
0138login:Penguin
垢版 |
2020/08/29(土) 23:09:08.73ID:lTv/US4g
>>137
これがdockefile専用パッケージマネージャが必要な理由に見えないならもう話にならんわ
会話が通じないレベルの差があるってことだ
0139login:Penguin
垢版 |
2020/08/29(土) 23:10:32.20ID:MO1Uvs8e
お前が言ってるのは、ユースケースと主張だけ
理由を言ってない
0142login:Penguin
垢版 |
2020/08/29(土) 23:13:25.30ID:MO1Uvs8e
「同じイメージに複数のパッケージを入れて環境変数やボリューム設定をするというユースケース」
これはユースケース

「imageではなくパッケージって単位で再利用できねーと非効率的」
これは主張

「なぜなら、・・・・」
これが理由
0143login:Penguin
垢版 |
2020/08/29(土) 23:14:27.73ID:MO1Uvs8e
「世の中なんの外部依存関係もないピュアなアプリケーションだけじゃない
そしてすべての外部依存関係がネットワークを通じて呼び出せるエンドポイントを持っているわけじゃない」
これは事実

「こういう場合に、・・・」
これが理由
0146login:Penguin
垢版 |
2020/08/29(土) 23:17:38.30ID:lTv/US4g
>>145
書いてある
あとはお前が理解するだけだ
理解する気がないなら無駄な問答が続くだけだからもうレスしなくていいよ
バイバイ
0147login:Penguin
垢版 |
2020/08/29(土) 23:18:21.83ID:MO1Uvs8e
お前が言った言葉の全てに対して「それは理由じゃない」と説明したんだがw
0148login:Penguin
垢版 |
2020/08/29(土) 23:20:52.31ID:lTv/US4g
>>147
間違った説明だから意味ない
理解する気がないならレスするな
2回目だよ
0149login:Penguin
垢版 |
2020/08/29(土) 23:33:35.48ID:MO1Uvs8e
俺の説明のどこが間違っているか言える?w
主張じゃなくて理由を言え
0150login:Penguin
垢版 |
2020/08/30(日) 00:00:41.64ID:ZAOk4Rrf
できたらコテ班付けてくれませんか
誰と誰の主張がぶつかってるのか日が変わるとわからないので
0151login:Penguin
垢版 |
2020/08/30(日) 11:03:24.35ID:MLxBHRb9
お前らはどのコンテナセキュリティスキャナ使ってるん?
0152login:Penguin
垢版 |
2020/08/30(日) 13:50:53.12ID:Qpr/sPeC
>>149
いつものDocker原理主義者?
傍から見ていると、君が何故そんな下らない方向に持っていくのかスゲー疑問。
君が>>98に対する解決策を知っていれば教えれば良いだけ。知らなきゃ黙ってろよ。
俺はこの人がなぜ欲しががっているのか理解はできるよ。
解決策知らないから黙ってるけど。
確かにDockerのビルドはスタック上に積み上げてるから、その一部分だけ抜き取ってマージしたいとは思うわな。
何で「理由を言え、Dockerの本来の使い方はどうのこうの」の話を50レスも繰り返すの?
0153login:Penguin
垢版 |
2020/08/30(日) 14:58:07.90ID:4F5aYT1J
> 何で「理由を言え、Dockerの本来の使い方はどうのこうの」の話を50レスも繰り返すの?

理由を答えないからでは?
0154login:Penguin
垢版 |
2020/08/30(日) 14:58:52.13ID:4F5aYT1J
> 確かにDockerのビルドはスタック上に積み上げてるから、その一部分だけ抜き取ってマージしたいとは思うわな。

思わないな
0155login:Penguin
垢版 |
2020/08/30(日) 15:05:30.22ID:UMRfRZsn
同じファイルを使うとか同じポートを使うとか
事情がわかってないとイメージだけマージしてもしょうがのにな
0156login:Penguin
垢版 |
2020/08/30(日) 15:18:28.35ID:Qpr/sPeC
>>153
理由を答えてるけど君が理解しないだけだよね?>>136はどこからどう読んでも
理由にしか見えないんだが?しかし別に理由はどうでも良いよ。
知ってるんなら答えろよ。知らないんなら黙っとけ。
スレの無駄だ。
0157login:Penguin
垢版 |
2020/08/30(日) 15:21:48.38ID:pNBhhLmO
そういう面倒なところを解決するためにスマートなDockerfile専用パッケージマネージャがあるといいなぁって話だろ
0158login:Penguin
垢版 |
2020/08/30(日) 15:39:24.84ID:UMRfRZsn
それは同一イメージ内でyumやaptを複数回使うのと何が違うの
0159login:Penguin
垢版 |
2020/08/30(日) 15:55:53.17ID:4F5aYT1J
>>156
じゃあ重要でない言葉をマスクしてみようか?

○○というユースケースが当たり前のように出てくる
そのためには○○できねーと非効率的なんだよ

見ての通り、理由が書いていない
0160login:Penguin
垢版 |
2020/08/30(日) 15:58:38.86ID:Qpr/sPeC
環境変数の設定やインストールの手順がわからないことがあり、
イチイチ調べてDockerfile書かないといけないから、って話じゃなかったの?
0161login:Penguin
垢版 |
2020/08/30(日) 15:58:49.15ID:4F5aYT1J
>>158
Dockerfile専用パッケージマネージャは
理屈は不明、何をしてくれるかもわからないが
面倒なことを魔法のように解決してくれるのです

どうにかして〜って叫ぶだけで
何かが解決するのです
0162login:Penguin
垢版 |
2020/08/30(日) 16:00:52.78ID:Qpr/sPeC
>>159
もう良いよwお前は黙っとけ!w

「できねーと非効率的なんだよ」

何でこれが理由だと読めないんだよ!アスペ野郎w
0163login:Penguin
垢版 |
2020/08/30(日) 16:04:29.96ID:4F5aYT1J
サービス起動するときにあれこれ設定して起動するの面倒だなぁ

Dockerfileの中で基本設定は全部済ませたで、必要最小限の
環境変数を渡すだけで起動可能だ、やったー

Dockerfileの中で設定を済ませるの面倒だな
Dockerfile専用パッケージマネージャがあれば解決するはずだ!

Dockerfile専用パッケージマネージャ
「インストールだけしておいたで、設定は全部Dockerの外でやるんやで」

Docker使ってサービス起動するときにあれこれ設定して起動するの面倒だなぁ
(本末転倒)
0164login:Penguin
垢版 |
2020/08/30(日) 16:05:50.38ID:4F5aYT1J
>>162
じゃあ同じように"理由"を言うね

「imageではなくパッケージって単位で再利用できねーからこそ効率的なんだよ」
これがお前の言う"理由"です
理由を言ったので納得しますよね?w
0165login:Penguin
垢版 |
2020/08/30(日) 16:19:56.38ID:Qpr/sPeC
>>164
元の文章:
「imageではなくパッケージって単位で再利用できねーと非効率的なんだよ」

>これがお前の言う"理由"です

×「imageではなくパッケージって単位で再利用できねーからこそ効率的なんだよ」
○「imageではなくパッケージって単位で再利用できれば効率的なんだよ」

君はマジでここに粘着するより、病院に行ったほうが良い。
0166login:Penguin
垢版 |
2020/08/30(日) 16:23:46.66ID:4F5aYT1J
>>165
元の文章が間違ってるから
俺が正しい"理由"を言っただけですが?

俺はこれを"理由"とは認めてないが、
お前は"理由"だというのだから問題ないはずだが?
0168login:Penguin
垢版 |
2020/08/30(日) 16:42:10.36ID:Qpr/sPeC
>>166
なるほど、君は>>136に、

「俺はそれを理由として認めない、お前はエスパーになって、
 俺の納得いく理由を答えろ、それ以外は会話できると見なさない」

と、こう言いたかったのですね。
0169login:Penguin
垢版 |
2020/08/30(日) 16:43:04.98ID:Qpr/sPeC
>>167
話の九割はDocker関係ないけどな!
0170login:Penguin
垢版 |
2020/08/30(日) 16:50:26.14ID:4F5aYT1J
>>168
納得がいくかどうかじゃなくて
"理由"そのものになってない。

もしその文章が本当に"理由"であれば、
頭に「なぜなら」や「その理由は」をくっつけて自然な文章になる

「なぜなら、imageではなくパッケージって単位で再利用できねーからこそ効率的なんだよ」
「その理由は、imageではなくパッケージって単位で再利用できねーからこそ効率的なんだよ」

自然な文章になってないので、これは理由ではない
これは単なる主張
0171login:Penguin
垢版 |
2020/08/30(日) 16:51:05.03ID:4F5aYT1J
文章が逆だったなw

「なぜなら、imageではなくパッケージって単位で再利用できれば効率的なんだよ」
「その理由は、imageではなくパッケージって単位で再利用できれば効率的なんだよ」
0172login:Penguin
垢版 |
2020/08/30(日) 16:57:33.68ID:Qpr/sPeC
>>170
わかったから病院に行け。
明日の朝イチですぐに行け。
君は相当、重度の発達障害だぜ。

「なぜなら、imageではなくパッケージって単位で再利用できねーと非効率的なんだよ」

これが理由と読めない理由がさっぱりわからないw


他人が述べた理由を
「なぜなら、imageではなくパッケージって単位で再利用できねーからこそ効率的なんだよ」
と勝手に書き換えるのもわからないww


実は君は宇宙人で、夏休みで日本に降り立ったのかいw?
日本語難しいよな!
0173login:Penguin
垢版 |
2020/08/30(日) 17:13:46.70ID:N0JftUYO
>>172
なぜパッケージ単位で再利用できねーと非効率的なんですか?
0174login:Penguin
垢版 |
2020/08/30(日) 17:35:18.67ID:Qpr/sPeC
>>173
なんで俺に理由を聞くの?>>136にレスしろよ。
彼が言っている事で、俺にも思い当たることはあるけど、正確に136が
どのようなケースを想定してこういったのかは知らない。エスパーじゃないからねw
俺は>>137の日本語の理解がおかしい、と指摘しているだけだが。
0175login:Penguin
垢版 |
2020/08/30(日) 17:41:22.40ID:Hfipjr9d
136じゃなかったのかw
0176login:Penguin
垢版 |
2020/08/30(日) 19:53:54.56ID:NuTsilhE
何か知らんけど、マージ機能なんか実現するわけないし話しても仕方なくね?
使いたいOSのパッケージマネージャーに入れてもらう方が現実的
0177login:Penguin
垢版 |
2020/08/30(日) 23:57:27.10ID:N0JftUYO
>>174
おや?「パッケージ単位で再利用できねーと非効率的」では
理由になってないと認めたのですか?w

それが理由だろって言えばいいだろうw
0178login:Penguin
垢版 |
2020/08/30(日) 23:58:04.68ID:IuMrdEpr
コンテナの安全性をどう保証するのか社内で揉めてる
既存のノウハウが通じない事が多くてこんなんじゃ本番環境での採用に納得してもらえないよ
0179login:Penguin
垢版 |
2020/08/30(日) 23:58:51.85ID:N0JftUYO
>>176
謎の技術で面倒なものをよきに計らってくれるものが
作れると思ってるやつに何言っても無駄だろうw
0180login:Penguin
垢版 |
2020/08/30(日) 23:59:32.34ID:N0JftUYO
>>178
既存のノウハウで安全性を保証すればいいだけでは?
何が通じないのかいいましょう
0181login:Penguin
垢版 |
2020/08/31(月) 00:01:43.54ID:vF14AGtx
>>180
新しい試みだから何が足りんかもわからん
訓えて
0182login:Penguin
垢版 |
2020/08/31(月) 00:03:39.56ID:iWhhhfgj
>>181
既存のノウハウがそのままつかえると言ってるんですが

今どうやってコンテナではないものの
安全性を保証してるんですか?
まずそれを答えてください
0183login:Penguin
垢版 |
2020/08/31(月) 00:10:49.96ID:vF14AGtx
>実際、オープンソースセキュリティ企業のSnyk社が、自社のコンテナースキャン機能で最も広く普及している10個のDockerイメージを分析したところ、すべてのイメージに脆弱なシステムライブラリがあることが明らかになりました。
>その中でも群を抜いて最悪だったのはDocker社の公式のNode.jsイメージで、580もの脆弱なシステムライブラリが含まれていました。

ぐぐったらこんなんでてきた
公式イメージでこの体たらくじゃセキュリティガバガバすぎて使い物にならなくねえか?


>>182
君だったら既存の対策で↑の580の脆弱性にどうやって対応する?
0184login:Penguin
垢版 |
2020/08/31(月) 00:20:34.11ID:vF14AGtx
あらら即レスくん黙っちゃった
やっぱり既存の対策じゃ難しいのかね?
0185login:Penguin
垢版 |
2020/08/31(月) 00:26:49.71ID:iWhhhfgj
>>183
> 君だったら既存の対策で↑の580の脆弱性にどうやって対応する?

だからお前はどうやってそれに対応してるのかって聞いてるんだが
0186login:Penguin
垢版 |
2020/08/31(月) 00:27:14.66ID:iWhhhfgj
Node.jsに脆弱性がったら、アップデートするだけやろ
0187login:Penguin
垢版 |
2020/08/31(月) 01:12:58.10ID:yjVyiQZJ
>>183
これはどうやって安全性を保障するか社内でもめている、って人へのレスなの?
自社で使う場合は「Docker社の公式のNode.jsイメージ」なんて使わないだろ。
0188login:Penguin
垢版 |
2020/08/31(月) 01:32:46.70ID:iWhhhfgj
「Docker社の公式のNode.jsイメージ」を作るためのDockerfileは
公開されてるんだから自分でビルドしなおせばいいだけの話

Dockerfileがあれば誰でもイメージを再現できるのが
Dockerの特徴の1つ

「Docker社の公式のNode.jsイメージ」なんて手っ取り早く
開発するためのもので、実際にサービスとして運用するなら
自分でDockerfile作るでしょ?難しいって?そんなわけない
Dockerを使わずに開発するときに、自分で動作環境作ってるじゃん
0189login:Penguin
垢版 |
2020/08/31(月) 08:58:34.42ID:eDtSpI/f
こうやって突き詰めていくとスゲーめんどくせえんだDockerってさ
普通に仮想マシン使えばいいんだよ
そうすりゃ全てがうまくいく
0190login:Penguin
垢版 |
2020/08/31(月) 09:00:06.71ID:0JAMU07V
既存の負の遺産があるとそうなのだろう
0191login:Penguin
垢版 |
2020/08/31(月) 09:44:52.21ID:iWhhhfgj
>>189
だから言ってるだろ

1. Dockerを仮想マシンの代わりとして使おうとする
2. Dockerは仮想マシンの代わりとして使うのは面倒くさいじゃないか!
3. Dockerは仮想マシンの変わりにはならない!
4. つまりDockerはクソ

って言ってるのがお前だろ?

俺は最初から言ってるよな?
Dockerは仮想マシンじゃない。
(必須ではないが)仮想マシンと組み合わせて使うもの。だと
0192login:Penguin
垢版 |
2020/08/31(月) 10:06:27.79ID:eDtSpI/f
ぶっちゃけ最初からアプリがポーダブルになってればDockerなんて要らんのだよね
snapを始めとしたモダンパッケージマネージャのほうが優れてる
0193login:Penguin
垢版 |
2020/08/31(月) 11:14:17.16ID:JF0Gj41+
依存関係もまとめて全部塊でわたせるって
一見するとスマートに見えるけど実は筋が悪い

パッケージの別バージョンのインストールをサポートして実行時に依存関係リストに紐付いてるバージョンを動かすようにしたほうが簡単でサイズ効率も良い
0194login:Penguin
垢版 |
2020/08/31(月) 12:36:22.30ID:iWhhhfgj
>>192
アプリがポータブルってどういう事?
例えば何かをRubyで書いたとしてRubyやRubyの
ライブラリのバージョンが違っても動くようにするための
方法が他にあるっていうの?

それをやるのは事実上不可能だからDockerがあるんでしょ
本当にアプリをポータブルにしたいなら
外部コマンドやライブラリを一切使わずに
Linuxカーネルの機能だけを使ったバイナリを作るしかないな
0195login:Penguin
垢版 |
2020/08/31(月) 12:37:42.26ID:iWhhhfgj
>>193
> パッケージの別バージョンのインストールをサポートして実行時に依存関係リストに紐付いてるバージョンを動かすようにしたほうが簡単でサイズ効率も良い

それをやってるのが.NETだけど
Linuxの場合、ライブラリを複数バージョンインストールできるようにして
それらをアプリごとに切り替えて使う仕組みがないんだよ
マニフェストで使うライブラリのバージョンを変更できる機能とかが必要だからな
0196login:Penguin
垢版 |
2020/08/31(月) 12:38:49.17ID:iWhhhfgj
>>192
> snapを始めとしたモダンパッケージマネージャのほうが優れてる
snapは誰かが作ったアプリを使うためのもの
Dockerは自分でアプリを作るためのもの
0197login:Penguin
垢版 |
2020/08/31(月) 14:45:37.10ID:/EQn80AW
>>194
いやいや簡単にできるぞ

アプリXが言語Aのバージョン1
アプリYが言語Aのバージョン2
アプリZが言語Bのバージョン1
をそれぞれ使ってるとする

パッケージX,Y,Zを入れると自動でパッケージX,Y,Z,A1,A2,B1がインストールされる

Xを実行するときには隔離された名前空間にX,A1のみがロードされる
Yを実行するときには隔離された名前空間にY,A2のみがロードされる
Zを実行するときには隔離された名前空間にZ,B1のみがロードされる

ぶっちゃけこれだけでいいんだよ
イメージに全てを固めて転送するのは無駄が多すぎる

本当に欲しかったものはスマートなパッケージマネージャと実行時の名前空間管理システムであってイメージじゃない
0198login:Penguin
垢版 |
2020/08/31(月) 14:47:59.79ID:/EQn80AW
>>195
.NETにできるならほかでもやろうと思えばできるわな

>>196
お前の定義はどうでもいい
0199login:Penguin
垢版 |
2020/08/31(月) 15:35:26.93ID:iWhhhfgj
>>197
簡単にできるというのなら、それを使えば解決するのでは?w

「それ」が何のことか言えないから、お前はそうして
アプリXとか具体的ではない名前しか言えないわけで
0200login:Penguin
垢版 |
2020/08/31(月) 15:42:05.77ID:bli2P+Al
>>197
それ結局Dockerじゃね?
Dockerのやり方に無駄が多い理由は
・複数のイメージが同一のライブラリを使用する場合に重複が生じる
・使われないコンポーネントがイメージに沢山入っている
だと思うが、君の挙げた例は上の2つの問題とは無関係で、Dockerによって解決できている問題だ
0201login:Penguin
垢版 |
2020/08/31(月) 15:44:03.80ID:iWhhhfgj
>>197
もう少し具体的な話をしてあげようか?

あるPerlスクリプトがあったとして
シバンに #!/usr/bin/perl と書いてありました

だから/usr/bin/perlが使われます
どうやって解決しろと?
■ このスレッドは過去ログ倉庫に格納されています

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