20/12/03 13:16:15.85 7zrDG1i2.net
Kubernetes 1.20からDockerが非推奨に!!
3:login:Penguin
20/12/03 14:20:24.71 U/s1/khq.net
感染広げるXantheマルウェア、誤った構成のDockerサーバが拡散の原因に
URLリンク(www.itmedia.co.jp)
わざわざ会員登録までして記事見たのに危機感煽るだけ煽って結局何が悪いのかすら書かないとか記者辞めちまえよ
4:login:Penguin
20/12/03 15:19:34.96 Sh6IjYut.net
>>2
URLリンク(dev.to)
tl;dr
For developers
Don't panic, Docker containers and images are still alive. It's not that it will change everything.
tl; dr 開発者向け 慌てる必要はありません。Dockerコンテナとイメージはまだ生きています。
それがすべてを変えるというわけではありません。
5:login:Penguin
20/12/03 15:46:06.97 cFBHmJWD.net
まぁそう言うしかないわな
RIP
6:login:Penguin
20/12/03 16:04:00.38 Sh6IjYut.net
つーかDockerに代わるものなんてないじゃんw
7:login:Penguin
20/12/03 17:16:27.28 XynNUU+U.net
ちゃんと記事読んでからコメントして♡
8:login:Penguin
20/12/03 19:20:03.82 2Z8KaBnT.net
ほれみたことか
どんどんDockerがオワコンに向かっている
これからはPodmanだよ諸君
9:login:Penguin
20/12/03 19:37:21.93 2Z8KaBnT.net
>>1
テンプレに間違いがあるね
コンテナ内部は複数のサービスにしてもよい
Gitlab公式コンテナが好例
そのほうが簡単に配布することができる
10:login:Penguin
20/12/03 19:43:24.35 42+zL4QB.net
Dockershimとやらが無くても動くように
docker側が対応しないのは何で?
11:login:Penguin
20/12/03 20:31:04.93 WOsKcZ2U.net
工数が足りないから
12:login:Penguin
20/12/04 03:44:20.17 lEW/3PCH.net
//jaco.udcp.info/entry/2020/12/03/172843
何がこれからは Podman だよ
バカにも分かりやすい記事を持ってきてやったから読んで理解してくれ
13:login:Penguin
20/12/04 07:25:29.65 DuRX7K7P.net
Dockerはオワコン
代替は今のところPodmanしかない
14:login:Penguin
20/12/04 07:29:09.64 DuRX7K7P.net
もともと落ち目だった
デーモンとかswarmとか要らんし、レジストリのpull制限かかるし、これじゃ安心して使えないよ
15:login:Penguin
20/12/04 07:59:06.38 Q0EM4SDw.net
dockershimって単体でも使えんの?
Kubernetesとは別のリポジトリでメンテしていけば良くね?
16:login:Penguin
20/12/04 09:30:56.61 gjlggvxd.net
Dockerは非推奨じゃないし今すぐ騒ぐのをやめろ
URLリンク(jaco.udcp.info)
Dockerはより開発者向けにシフトする感じかな
17:login:Penguin
20/12/04 12:54:32.94 3JCDzbcr.net
発展途上の技術が最適化されていくだけって話だったのね
5chでだけ声の大きい人の言う事は一番あてにしちゃいかんな
18:login:Penguin
20/12/04 13:12:09.53 ywaWilQb.net
>>17
twitterで声の大きい人や
発表会(笑)だけで有名な人も同じ
当てにしちゃいかん
19:login:Penguin
20/12/04 13:20:21.71 DuRX7K7P.net
非推奨にも幅があるよ
ナルハヤで脱却して、って意味での非推奨
別に使うのは構わんけど、もっと良いモノあるよ?って意味での非推奨
Dockerは後者の意味での非推奨
なんたって、Podmanがあるからねぇ
天下の赤帽が、コマンド名にエイリアスを付けるぐらいだから、よっぽどだよ
20:login:Penguin
20/12/04 13:23:03.58 ywaWilQb.net
Podmanの名前出てたか?
もっと良いものはあるのが事実だとして、そこにPodmanの名前が
出てないなら、それは良いものじゃないってことだろう?
Podmanの名前出てないよな?
21:login:Penguin
20/12/04 13:35:28.69 oyNm9CC6.net
podmanとdockerの比較表を作ってくれたら試してもいいよ
22:login:Penguin
20/12/04 15:24:04.77 T4tQw3tD.net
>>9
1の記載は本人の妄想と誤解が混ざり合ってるから気にしちゃいかん。
読んだ感じだと未だPart4以前から続く間違いが、未だわかってない様だね。
Part6が始まるまでにどんだけ間違いに気づくか見もの。
23:login:Penguin
20/12/04 18:38:15.76 OHz9/rDl.net
KubernetesはDockerのサポートはやめるけど
今後もDockerで作ったイメージは動くらしい
どういうこと?
KubernetesってそもそもDockerイメージを動かすことしかしないよね?
24:login:Penguin
20/12/04 18:47:47.82 KA9ZIx3N.net
コンテナにも標準仕様があんだよ
それ満たしてればK8S的には何でもおkなわけ
Dockerはそれを満たしてないからしょうがなくアダプタで無理やり動かしてた
でももう面倒になったからDocker切り捨てるわバイバイってこと
25:login:Penguin
20/12/04 18:57:17.64 LsrkBALl.net
記事見る感じだとDocker自体がcontainerdのラッパーでしかないから
じゃあcontainerdで良くね?って話?
Dockerもう要らなくね?
26:login:Penguin
20/12/04 19:02:01.94 /vPGlnVl.net
開発環境で使うという意見もあるがpodmanで十分だ
WindowsかMacだったら仕方なくdockerを使う
27:login:Penguin
20/12/04 19:04:57.76 T4tQw3tD.net
WindowsならDockerはいらんな。
SSD換装できないMacは無駄にストレージ使う訳にもいかんから
消去法的にDockerって感じ。
28:login:Penguin
20/12/04 19:25:19.20 C2amJGR4.net
>>16
この記事だと結局dockershimに非対応になるってことじゃね?
29:login:Penguin
20/12/04 20:02:24.63 lEW/3PCH.net
マジでバカしかおらんのか
30:login:Penguin
20/12/04 20:31:01.49 T4tQw3tD.net
podmanがどうのこうのという話?
単に信じた君が馬鹿なだけじゃね?
31:login:Penguin
20/12/04 20:49:43.10 dErlVFkL.net
>>24
> Dockerはそれを満たしてないからしょうがなくアダプタで無理やり動かしてた
え?でも非推奨になってもDockerイメージ動くんでしょ?
32:login:Penguin
20/12/04 20:50:40.15 dErlVFkL.net
>>28
つまりdockershimは非推奨だけど
dockershimを使わなくてもDockerイメージは動くってこと?
33:login:Penguin
20/12/04 20:51:38.08 dErlVFkL.net
Dockershimで検索したらこれが一番目に出てきたよw
Dockershim Deprecation FAQ
URLリンク(kubernetes.io)
本家は最初から「Dockershim」って言ってたのか?
(それとも反響が大きくて後から出した?)
34:login:Penguin
20/12/04 20:52:54.98 4YIiF6xL.net
第一お前らKubernetes使ってないでしょ?
35:login:Penguin
20/12/04 20:56:15.53 Eqr/guq5.net
オーケストレーター使うならK8S
使わないならpodman
dockerは要らないね
36:login:Penguin
20/12/04 20:57:30.32 dErlVFkL.net
>>34
Kubernetesつかってないけど
「本番環境ではKubernetes使います。Dockerはサポートされてないので作り直してください。」
って言われたら嫌じゃん
37:login:Penguin
20/12/04 20:58:11.07 dErlVFkL.net
>>35
> オーケストレーター使うならK8S
K8Sだけじゃ何も動かない
せめてDockerイメージがないと・・・
38:login:Penguin
20/12/04 20:59:57.74 4YIiF6xL.net
>>36
Dockerイメージのフォーマットが変わるわけではない
39:login:Penguin
20/12/04 21:01:50.76 dErlVFkL.net
>>38
つまり今まで通り
Dockerで開発してDockerイメージを作って
それをDockerリポジトリにpushしていれば
それをkubernetesから使えるってこと?
40:login:Penguin
20/12/04 21:05:04.89 RNB2ELrq.net
>>39
そりゃそうじゃ
誰がDocker「イメージ」を廃止するとか言った?
41:login:Penguin
20/12/04 21:05:53.72 dErlVFkL.net
え?じゃあなんでこんなに騒いでるの?
42:login:Penguin
20/12/04 21:14:29.55 T4tQw3tD.net
docker imageは駄目っしょ。
それで作ったコンテナはdockershimに手伝ってもらわないと動かないだろうし
それは来年末に廃止するよ、って言ってるんだし。
代わりにBuildah使ってビルドしてね!って言ってるし。
43:login:Penguin
20/12/04 21:17:19.04 T4tQw3tD.net
まあmicrok8sで開発してたらDockerきえてCRIOになったし
そうなるだろうなとは思ったけど。
イメージのビルドはk8sからはやりづらく感じる。
クラスタ用の定義ファイルとアプリ用の設計書が一緒くたになりそうな
44:login:Penguin
20/12/04 21:26:04.01 RNB2ELrq.net
>>42
ばか?
45:login:Penguin
20/12/04 21:41:43.85 dErlVFkL.net
> イメージのビルドはk8sからはやりづらく感じる。
k8sからイメージをビルドするってどういう事?
k8sからどうやってイメージをビルドするの?pullするだけでしょ?
46:login:Penguin
20/12/05 00:19:08.06 EeLjU+5c.net
k8sでビルドはする
47:login:Penguin
20/12/05 01:53:50.12 Ts+UhpZc.net
k8sでビルド?意味不明
48:login:Penguin
20/12/05 01:55:08.06 I3YGhR/O.net
>>41
君みたいに解説記事を読まずに騒ぐ人が多いからじゃない?
49:login:Penguin
20/12/05 11:12:36.06 EeLjU+5c.net
逆にpodmanを使わない人はなんで使わないんだ
50:login:Penguin
20/12/05 11:22:13.34 I3YGhR/O.net
だからなんで昨日からの話の流れで podman が出てくるんだよ、いい加減にしろよボケ
51:login:Penguin
20/12/05 11:31:04.76 EeLjU+5c.net
dockerがオワコンだからpodmanに移行しようって話だよ
52:login:Penguin
20/12/05 11:37:57.41 I3YGhR/O.net
おわってんのはお前の脳みそじゃい!
53:login:Penguin
20/12/05 12:20:18.97 0YccHEgF.net
↑は何をいきり立ってんの?
5chをDockerのサポート掲示板か何かと勘違いでもしてるのかな?
54:login:Penguin
20/12/05 12:41:33.06 NfqCIanc.net
お前こそpodmanのスレは別にあるんだしそこ行ったら?
55:login:Penguin
20/12/05 12:58:17.39 0YccHEgF.net
>>54
俺はpodmanに興味はない。
俺が焦点にしているのはお前だ。
スレチと言うならk8sからそもそもスレチだし、それなら>>2から
全部駄目なんだが?なんでpodmanにだけ反応するの?
56:login:Penguin
20/12/05 13:29:44.28 I3YGhR/O.net
解説読めば理解できるのに的外れな質問をしている人のほうがサポート掲示板と勘違いしているんじゃないですかね?
57:login:Penguin
20/12/05 13:34:08.78 FAa+IqVT.net
ちゃんと理解したならdockerがオワコンとわかるはずだろう
dockerはいま急速に切り捨てられようとしてる
今回の事件だけじゃねえんだ
58:login:Penguin
20/12/05 13:35:16.83 0YccHEgF.net
>>56
悪いけど的外れな質問にも興味はない。
俺はDocker板で突然k8sの話題が始まった事に
ずっと違和感を持っていたけど、別にツッコミを入れたりはしない。
で>>50-52は何でそこをスルーするのにpodmanに「だけ」反応するの?って話。
59:login:Penguin
20/12/05 13:44:39.16 I3YGhR/O.net
>>58
podman は今回の件に関係ないからだけど?
60:login:Penguin
20/12/05 13:47:43.29 RYeAh5fh.net
知識が足りないからdocker = K8Sのような勘違いをしてるのかも
しっかり学ばずになんとなくでdockerを使ってる若手に多い
61:login:Penguin
20/12/05 13:50:33.46 NbhsX2Y9.net
podmanはなんつーかもとから土俵の上にないっていうか
たぶん非推奨っていわれてもこんなに騒ぎにはならないだろうな
62:login:Penguin
20/12/05 14:33:22.07 0YccHEgF.net
>>59
日本人の方のブログには「代替にpodmanが提供されている」という記載はある。
URLリンク(blog.inductor.me)
63:login:Penguin
20/12/05 14:48:49.13 I3YGhR/O.net
>>62
CRI-O に言及するついでに書いてあるだけだろ...
記載があるから関係があるという考え方はやめたほうがいいよ
64:login:Penguin
20/12/05 15:17:43.52 0YccHEgF.net
>>63
k8sをちゃんと使ってDockerとの違いにやりづらさを感じた人なら
その一行で「なるほどな」と感じるはずだが?
65:login:Penguin
20/12/05 15:24:59.27 I3YGhR/O.net
>>64
docker との違いにやりづらさとあるが、主語がないので何と比較してやりづらさがあると言いたいのか分からない
> Dockerの代替ツールとしては�
66:香[カル用ランタイムのPodman、コンテナビルダーのBuildah、そしてCRIランタイムのCRI-Oをそれぞれ提供しています。 この一行に関してはそうだねとは思っても、なるほどと思える要素はないな
67:login:Penguin
20/12/05 15:25:48.16 0YccHEgF.net
>>65
それは君が馬鹿だから。
資料を読めばなぜやりづらいと感じるのかもわかる。
68:login:Penguin
20/12/05 15:35:43.99 I3YGhR/O.net
>>66
これまで k8s -> dockershim -> docker api -> containerd となっていたのを k8s -> containerd にするっていう話なんだけど、
これのどこに podman が関連するか教えてくれない?
69:login:Penguin
20/12/05 15:59:41.57 r7Mql18q.net
>>67
docker要らなくなるな
じゃあpodmanでいいか
70:login:Penguin
20/12/05 17:17:37.71 0YccHEgF.net
>>67
その資料にはそうは書いてないな。
今まで:
k8s->dockershim->Dockerで動いていたけど、dockershimは廃止するよ
これから:
でも実はDockerは内部でcontainerdとして動いているから廃止後はk8s->containerdになるから安心だよ。
と言っていて、その背景の情報としてDockerはk8sとネットワークとかVolumeとかの機能が
被っていて邪魔、とかCRIとしてコンテナを動かす技術はdockershimのほかにCRIOやcontaienrd
があって、CRIOの人達は早くからpodman押してるよ、それは何故かと言うとk8sが求めていない余計な
機能は実装していないからだよ、と言っている。
だからこの文脈で>>51といえばそれが正しくて、>>50はお前何いってんの?としか思わない。
少なくとも>>50という感想には絶対にならない。
71:login:Penguin
20/12/05 18:04:26.84 WsElpmBT.net
dockerを開発用に使ってる人
→今まで通り使い続けてOK。k8s上でdockerで作成されたコンテナは実行可能であり続ける。(コンテナのフォーマットは標準化されていて、dockerもそれに従っているから)
k8sのコンテナランタイムとしてdockerを使っている人
→cri-oかcontainerdに移行してください。
猶予は1年
って認識だけどこれでいいんだよね?
72:login:Penguin
20/12/05 18:04:49.70 I3YGhR/O.net
>>69
まず、前半部分(安心だよ。まで)って何が言いたいんだい?
私が書いた内容を君の言葉で言い直しただけ?
だからこの文脈でって言うけど、話を飛ばしすぎなんだよなぁ
私は最初から昨日の話の流れで podman が出てくるのはおかしいでしょと言ってるだけなんだけど
dockershim が非推奨になります、だから podman に移行しましょうなんて話が公式からありましたか?
73:login:Penguin
20/12/05 18:06:59.84 I3YGhR/O.net
>>70
いいと思うよ
74:login:Penguin
20/12/05 19:34:45.23 .net
URLリンク(qiita.com)
これのDockerfileの最後の行のADD . /code/には何の意味がありますか?
その手前でADD /code/してる気がするのですが
なぜ再度ADDする必要があるのでしょうか
75:login:Penguin
20/12/05 20:00:07.95 4l48dxdp.net
>>73
依存性だけ先にダウンロードすんだよ
76:login:Penguin
20/12/05 20:03:40.21 ZteeUnRS.net
個々のDockerfileの意味とか流石に作者に聞けとしか
よく使われるテクニックとかならわかるが
77:login:Penguin
20/12/05 20:09:16.24 I3YGhR/O.net
どう見てもよく使われるテクニックなんですが...
78:login:Penguin
20/12/05 20:16:26.25 4l48dxdp.net
dockerユーザーは初心者も多いからこんなもんでしょ
podmanは玄人ユーザーが多いからみんな「わかってる」けど
79:login:Penguin
20/12/05 20:18:43.75 .net
>>74
なるほど
ためしに最後のADD . /code/の行を消してもbuildできてしまったので
どのような目的があったのだろうと疑問だったのですが
まだいまいちピンときていませんがありがとうございました
80:login:Penguin
20/12/05 20:20:48.85 0YccHEgF.net
>>71
もういいよ。
お前の脳味噌は相変わらず腐ってる。
81:login:Penguin
20/12/05 20:49:33.40 BHDtRCCp.net
>>78
最後のADD削ったら必要なものが入らないだろw
Dockerは上から一行ずつビルドしてるんだから
「最後の一行」を削っていって最終的に最初の一行だけになっても全部ビルドできる
別にこれでもビルドは正しく出来るんだよ
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt
ただしこれだと、.(カレントディレクトリ)の内容が変わったときに
pip install -r requirements.txt という時間がかかる
パッケージのインストールを何度もすることになる
一般的に requirements.txt の内容が変わることは少なく
.(カレントディレクトリ)= ソースコードは変化しやすいので
記事の順番でやるとビルドに時間がかからなくなる
これはDockerを本来の目的=自社開発アプリのデプロイとして
使う場合によく使われるテクニック
開発中に何度もソースコードを修正してビルドするからね
他人が作ったアプリをただビルドするだけの人だとこうする理由がわからない
82:login:Penguin
20/12/06 00:00:05.53 .net
>>80
>上から一行ずつビルドしてるんだから
>ただしこれだと、.(カレントディレクトリ)の内容が変わったときに
なるほど まだわからない部分はたくさんありますが
簡単な構成でdocker buildで試し比べてみました
stepそれぞれに(上から順々に依存している?)12文字のハッシュ値があって
最終stepの行がimage idになっているのをみてくしっくりきた感じがしました
ありがとうございました
83:login:Penguin
20/12/06 13:07:15.29 bW5Jw+B2.net
Mirantis to take over support of Kubernetes dockershim
URLリンク(www.mirantis.com)
dockershimはKubernetesの外でメンテ継続するってよ
いずれにせよ独自のKubernetesディストリビューションを自分で作ってるユーザーにしか関係ない話だよねこれ
あるいはKubernetesのWorker Node上でdocker in docker使ってたりとかすれば関係あるけど
84:login:Penguin
20/12/06 13:46:09.17 j0ZyyUeQ.net
そりゃ短絡的すぎる
開発ツールとしてのDockerは全く金になってないわけで、実行環境として使われなくなればDocker社は潰れる
まあいずれにせよバイアウトは時間の問題だろうけど、変なところに買われないといいね
MSあたりなら万々歳か
85:login:Penguin
20/12/06 15:31:02.60 cr9fHI9X.net
ほんとそれだよな
dockershimっていう技術的1要素についてしか見れてない人はちと掘り下げが浅い
86:login:Penguin
20/12/06 16:43:24.92 8gaQ8Ouz.net
dockerで作ったのって所有者がrootになってるけど
別にそのままでいいよね
87:login:Penguin
20/12/06 16:44:21.91 cr9fHI9X.net
podmanなら安心
88:login:Penguin
20/12/06 19:00:10.19 sbb7t0Yi.net
dockerはwindows
89:login:Penguin
20/12/06 19:00:49.22 sbb7t0Yi.net
とMacだけで使うって方向になりそう
90:login:Penguin
20/12/06 19:29:29.61 .net
ALLOWED_HOSTSをコマンドから引数から書き換えられたらいいのに。。
せっかくdockerで自動で構築できてもそこだけ手動なのか
シェル書くしかないか
91:login:Penguin
20/12/06 19:32:01.05 gvpRuI30.net
allowed_hosts=aaa docker run ...
でいいじゃん
92:login:Penguin
20/12/06 22:59:53.15 .net
>>90
settings.pyのALLOWED_HOSTSを切り替えてそれでやってみたけどだめだった
93:login:Penguin
20/12/07 00:39:20.58 7KIPbkxC.net
Djangoをディージャンゴって音読してしまう癖を矯正するコツを思いついた
限りなくデをジに近づけてデェンゴって発音する
94:login:Penguin
20/12/07 01:39:44.13 XVF5iFmD.net
ワンピース ねじまき島の冒険(同時収録:ジャンゴのダンスカーニバル)でも見ればいいんじゃないですかね?
95:login:Penguin
20/12/07 02:00:47.62 Gjaw1DR4.net
DockerHubってイメージじゃなくてDockerfileとかダウンロード出来ないの?
今使ってるイメージ微妙に不便なとこあるからPRしようと思ってるんだけどやり方がわからない…
96:login:Penguin
20/12/07 08:55:45.83 XVF5iFmD.net
どっかにかいてあるだろ
Dockerfileは必須じゃないから
ないこともあるが
97:login:Penguin
20/12/07 08:57:20.10 QEYCllWo.net
>>92
いたずらハゲたかジャンゴってスーパーマリオ64にあったよな
>>94
GitHubへのリンクが無くて
探しても分からなかったら諦める
98:login:Penguin
20/12/07 09:51:55.10 qRPS8Kkp.net
>>84
こういうコメントって何なんだ?
薄気味悪い。
99:login:Penguin
20/12/07 11:50:21.78 2hRxy7oG.net
>>97
>>97
100:login:Penguin
20/12/07 22:26:09.34 uz+f63A+.net
Docker 始めたばかりでよくわからないんだけど
docker-compose で複数プロジェクト起動したりするときってみんなどうしてるの?
数少なかったらコンソールから手入力でも行けそうだけど
プロジェクトとかオプションとか多くなるとしんどいですよね
シェルスクリプトとかでがんばるのかな
101:login:Penguin
20/12/07 22:39:51.94 2hRxy7oG.net
Ansible
102:login:Penguin
20/12/07 22:40:33.85 2hRxy7oG.net
Chef
103:login:Penguin
20/12/07 22:41:05.57 2hRxy7oG.net
Puppet
104:login:Penguin
20/12/07 22:55:17.04 VASQvhG4.net
>>99
複数プロジェクトって?
それぞれのプロジェクト?が連携してるのなら
一つのdocker-compose.ymlでやるけど
105:login:Penguin
20/12/07 23:03:26.19 xbcRerkM.net
プロジェクトは公式の単語だからドキュメント見てこい
106:login:Penguin
20/12/07 23:12:46.18 uz+f63A+.net
>>103
たとえば WordPress と BBS を運用するサーバがあったとして、
両者は連携させないのでそれぞれに docker-compose.yml を書くとするじゃないですか
それでフロントエンドに httpd を置いて、リバースプロキシで振り分けるとして
これも docker-compose.yml を書いて運用するとプロジェクトが3つになります
関連はするので全部まとめて一つにするのが正義かもしれませんが
密に関連するのと比較的疎になってる部分があるのをごちゃまぜにするのがはたしてよいのかどうか
で、こういう場合は大抵どうしてるのかなと思ったのです
107:login:Penguin
20/12/07 23:20:48.46 s4ROaUh2.net
>>105
もう答え出てるよ?構成管理ツールを使えばいい
Dockerだからといって、急に昔ながらのやり方が変るわけじゃない
K8Sを使わないなら、Dockerなんてただのパッケージングツールでしかない
ビルドして、サーバーにリリースして、起動する
ほら、いつものやつだろ
だったら、いつものやつを使えばいい
108:login:Penguin
20/12/07 23:30:36.35 uz+f63A+.net
>>106
ありがとうございます
構成管理ツールを利用している人も多いということですね
検討してみます
K8S はクラスターとかで使うので 1 サーバで運用の場合は用途が違うのかと思ってました
こちらも勉強します
109:login:Penguin
20/12/08 01:12:23.41 T8CA3+zn.net
構成管理ツールはサービスを起動するための「構成」を作るだけなので
「サービス起動」自体は自分で書かないといけない
Dockerだからと身構える必要はない
PCを起動した時にサービスを自動起動するのはなにか?
今だとsystemdがよく使われている
systemdを使ってサービスを自動起動させる
その中身がdocker-composeになるだけの話
110:login:Penguin
20/12/08 12:57:08.22 vm95yel+.net
systemdでラップしたほうがいいのか?
111:login:Penguin
20/12/08 17:44:01.58 YCdqEFxJ.net
dockerコンテナ単体なら--restart=alwaysで出来るはずだから
docker-composeでもrestartオプションでなんとかなるんじゃね?
112:login:Penguin
20/12/08 18:36:52.42 oaBCaMVV.net
オレオレスクリプトよりは良いんじゃないかな
systemdの規則に則って設定が書かれるから引き継ぎしやすいだろう
113:login:Penguin
20/12/08 19:26:41.90 .net
DockerfileでRUN django-admin startproject mysite .するとエラーはでないけど何も作成されない
docker-compose runでやるとなぜか成功する
114:login:Penguin
20/12/08 19:55:13.84 FDxUpcH4.net
linuxでdocker使うとvolumeでroot以外書き込みできなくなるのにハマるから面倒くさい
windowsで使ったときは天国だった
115:login:Penguin
20/12/08 19:58:38.58 eFXW3K5V.net
rootが嫌ならpodman使えばいいよ
116:112
20/12/08 20:06:55.25 .net
VOLUMEの設定忘れてただけだった
117:login:Penguin
20/12/09 20:54:48.97 3pxZSRbv.net
「イラストでわかるDockerとKubernetes」は完全に良書 - Cloud Penguins
URLリンク(b.hatena.ne.jp)
↑
ブクマがすごい増えてるがこのスレの先輩方の意見も聞かせてください
118:login:Penguin
20/12/09 21:14:43.67 49jDKvS/.net
読んでない
119:login:Penguin
20/12/14 20:44:43.81 MpGNayog.net
ちょろっと立ち読みしたけど概念解説本って感じ
手を動かす類のものではない
120:login:Penguin
20/12/15 21:55:20.80 Toj7f6IY.net
M1 Mac買ったんだけど、プレビュー版のメールが来ない
121:login:Penguin
20/12/15 22:09:19.38 UAU5VS9m.net
ドッカーン動いたら買い換えるわ
122:login:Penguin
20/12/16 05:21:20.87 21hq6ko2.net
URLリンク(appleinsider.com)
動くのはもう動いているだろ。
>>120
123:login:Penguin
20/12/17 15:03:08.88 a5ZURXg6.net
動いてるのに買わないみたいだ…
124:login:Penguin
20/12/17 21:57:58.01 T/e7w5PI.net
x86のイメージもアップルシリコンで動く?
125:login:Penguin
20/12/18 05:08:20.52 K0IxBBPr.net
動く訳ないでしょ。
126:login:Penguin
20/12/18 08:07:58.88 0nv9I87T.net
x86_64のイメージもいい感じにエミュレーションしてくれないのか
127:login:Penguin
20/12/18 09:45:54.40 V5ZdgnIp.net
M1のdockerはarmもx86_64も動くよ
x86_64はqemuかなにかのCPUエミュレーションを使うらしいから相当遅いようだけど
URLリンク(twitter.com)
docker run --platform linux/amd64
のようにすればx86_64のイメージが動くらしい
URLリンク(twitter.com)
(deleted an unsolicited ad)
128:login:Penguin
20/12/18 11:57:26.63 bJJNWn7m.net
docker-compose up -dでサーバを立ち上げたままストを再起動すると
WIndowsだと自動的に立ち上がりませんがUbuntuだと自動的に立ち上がりました。
この挙動の違いはなんか設定があるのでしょうか?
129:login:Penguin
20/12/18 17:42:12.78 DAv45rNL.net
>>126
>docker run --platform linux/amd64
>のようにすればx86_64のイメージが動くらしい
これってターミナルをロゼッタで
開くのが必要なやつかな?
URLリンク(i.imgur.com)
130:login:Penguin
20/12/19 15:52:01.61 BO5W/HJS.net
djangoのsqliteで日付ソートしたいとき
filterで__range=(start_date, end_date)ってやれば取得できたけど
この日付以降を取得したい、この日付までを取得したい
って場合はどうするの??
end_dateのとこを最新のにするとか
start_dateのとこを0年?にするとかで対応できそうだけど
別の方法はないのだろうか
131:login:Penguin
20/12/19 16:03:47.40 PLLdJaX3.net
スレチ
132:login:Penguin
20/12/21 18:19:29.62 pvw8T0nH.net
Windows 10 Home 版に、WSL2, Docker を入れた
OS の連続アップデートに、3時間掛かった。
CPU-i3, 8GB メモリを、CPU・電力エコモードで使っているから、コンパイルが遅いのかも
その後、WSL1 から、WSL2への変更。
Windows 10 Home用のDockerのインストール自体は、簡単だった
これで、Windows10 プロ版じゃなくても、Dockerを使える。
Kubernetes も入っていた
133:login:Penguin
20/12/21 20:21:35.25 dlrHq+JK.net
最新OSイメージをUSBに焼いてインスコすればアプデすぐ終わるよww
134:login:Penguin
20/12/21 20:23:44.45 OdEL38NI.net
ホストマシンにLinuxを使わないのなんで
135:login:Penguin
20/12/21 20:27:51.26 xz2OJU6d.net
とりあえず触ってみたいだけじゃないかな?
Linux用の他の物理PCが無いとか
136:login:Penguin
20/12/23 10:56:00.31 1+vPbIId.net
>>133
これって、普段Win使っててもDocker
使うときは別のLinux入ってるPC使わないの?っていう質問なの?
それとも、Docker使うのに何でLinuxじゃなくて、Win10home入れてるの?
ていうこと?
137:login:Penguin
20/12/23 12:55:07.61 wvHwSATl.net
>>135
後者
最初から全部Linuxだけでよかないか?
138:login:Penguin
20/12/23 13:28:23.51 XQNsan1J.net
ふだん使いにはWindowsのがいいから。
そんなんやからLinuxが普及しないんや。。。
139:login:Penguin
20/12/23 19:45:01.63 6MYaQfnZ.net
>>1
windowsでffmpegのビルド環境をDockerで構築するのはベターな使い方では無いって感じなんですかね
140:login:Penguin
20/12/23 21:09:36.11 ZguD9N4D.net
>>138
はい。ベターではありません。
Dockerはffmpegを作るものです。
その仮定でffmpegのビルド環境を作ることになるかもしれませんが
最終的に作るのはffmpegです。ビルド環境は途中の状態に過ぎません。
単体で配布できる動くffmpegバイナリがあれば嬉しいですよね?
Dockerはそれを実現するものです。
141:login:Penguin
20/12/23 22:18:55.92 dXEa7PSI.net
つまりどういう事だってばよ!
142:login:Penguin
20/12/23 22:54:12.17 7P73jueA.net
exeで配布したかったらLinux立ち上げるかwslでやれって事だな
143:login:Penguin
20/12/23 22:55:06.59 .net
playwithdocker
プログラムは動くけどウェブサーバーだけ503になる?
コードミスったのかとおもったけど前に成功して改変してないやつがダメだし
144:142
20/12/24 21:28:09.78 .net
今やったら復活してた
playwithdockerみたいな感じで試せるとこないかな
有料でも
145:login:Penguin
20/12/26 13:46:50.79 tK7SVK34.net
docker-composeでweb制作をしたいと思うのですが、
javascriptのeslintはホストとコンテナどっちにインストールするものなんでしょうか?
146:login:Penguin
20/12/26 13:49:25.11 ey69S6CQ.net
普段開発用はホスト
CI用はコンテナ
147:login:Penguin
20/12/26 14:16:15.83 vKD6dD+x.net
ホストのファイルシステムをマウントして使うとファイルシステムの通知機能は使えないよね
nodeをコンテナから使うとホットリロードはポーリングでしか出来ない
Unisonみたいの使えばファイルシステムはLinuxのになるから
一応いけると思うけど・・・
148:login:Penguin
20/12/26 14:20:19.18 ey69S6CQ.net
対応していれば使える
Windowsならできるやろ
149:login:Penguin
20/12/26 14:20:46.00 YfHoFsh2.net
ホストによるのでは
150:login:Penguin
20/12/26 14:29:33.41 ey69S6CQ.net
うん。だからWindowsは対応してる
151:login:Penguin
20/12/26 14:30:36.66 vKD6dD+x.net
URLリンク(www.infoq.com)
すまんWindowsはinotify対応あるのか
macもいける?
152:login:Penguin
20/12/27 02:35:18.09 GBKMOnwz.net
なんでWindowsは調べられてmacは調べられねーんだよw
153:login:Penguin
20/12/27 08:14:52.72 pXorxqlh.net
タイムドッカーン
154:login:Penguin
20/12/27 09:54:02.63 6j5u573s.net
Docker Desktop for Windowsの3.0にアップデートしても大丈夫?
謎の不具合に遭遇したりしない?
昔、家でWSL2バックエンドで使ってたらアプデ後に起動できなくなった事があった
大したデータを入れてないのでリセットしたが、あんまり信用出来ないなと思った
Mac版は自分では使ってないが、メジャーアップデート後から奇妙な不具合が多数報告されてるのは知ってる
一応安定版リリースじゃないのか
Mac版は一応ダウングレード出来るようだ
会社ではWindowsでHyper-Vバックエンド
155:login:Penguin
20/12/27 09:55:35.30 E/Jc62KU.net
宗教上の理由ならしゃーない
156:login:Penguin
20/12/27 10:10:46.14 dyOXY6iu.net
Docker Desktop for Windowsの3.0でもHyper-Vバックエンド対応してるだろ?
WSL2バックエンドは、たぶん俺しか困らないだろうなってバグ
(カーネルの古いAPIの削除による仕様?)があって切り替えれないでいる
バグの内容を言うと、困る人は俺ぐらいだろうなって特定されかねないのでここ�
157:ナは言えないw
158:login:Penguin
20/12/27 13:56:05.75 h8j0trq0.net
windows sandbboxで試せばいいだろ
159:login:Penguin
20/12/28 19:37:37.29 WwxpjbVt.net
>>155
カーネルAPIの互換性については弊社でも度々問題になりました。
古いディストリイメージを使う場合はHyper-Vバックエンドが安定しますね。
160:login:Penguin
20/12/30 12:55:14.64 ggs3i1Xp.net
podmanいいね
161:login:Penguin
20/12/30 14:26:42.72 nRZrvQqz.net
podmanもっと使ってくれよ
このままrocktみたいに消えるのやだよ
162:login:Penguin
20/12/30 14:40:54.65 ggs3i1Xp.net
Redhatが推してるから消えないよ
163:login:Penguin
20/12/30 14:48:49.30 nRZrvQqz.net
消えないのと普及しないのは違う
もっとRedHatが開発した独自ツールが普及するといいのに
164:login:Penguin
20/12/30 14:50:03.13 ggs3i1Xp.net
dockerエイリアスはpodmanなので自動的に広まるよ
165:login:Penguin
20/12/30 14:53:52.41 nRZrvQqz.net
まだ広まらないんだよ
なんでだよ?
166:login:Penguin
20/12/30 14:58:35.32 nRZrvQqz.net
RedHat独自で普及したものがないのが不満
167:login:Penguin
20/12/30 15:01:46.25 hGZGs2gE.net
rpmがあるやろ!
168:login:Penguin
20/12/30 15:35:30.91 WcsKhyXe.net
本番クラスタはマネージドK8S
開発環境はDockerCompose
Podmanは…オンプレシングルノード本番専用?
169:login:Penguin
20/12/30 16:12:47.38 nRZrvQqz.net
RedHatにベンダーロックインされてる人が使うw
RedHatがDockerを切り捨てたから
それに従わないといけないのだ
170:login:Penguin
20/12/30 17:00:40.15 r9TksVgH.net
商用はRedhatだからpodmanに従ったほうがよさそうだね
171:login:Penguin
20/12/30 17:04:03.17 nRZrvQqz.net
あとで移行すればいいよ
普及してから(そして大抵の代替技術は普及しないw)
172:login:Penguin
20/12/30 17:19:23.33 /V2k7qc7.net
podman 2~Dr.ワイリーの謎~
173:login:Penguin
20/12/30 21:31:55.50 lasrj5XX.net
PodmanよりDockerRootlessのほうがええわな
174:login:Penguin
21/01/05 10:35:05.44 a6MKPo5T.net
docker-composeはConfigMapに相当する仕組みが無いから不便ですね
175:login:Penguin
21/01/08 18:53:27.20 MTOnxYZl.net
Wasmerも本格的に動き始めた
いよいよDockerの居場所がなくなってきた
176:login:Penguin
21/01/08 19:39:29.85 M4gsjCxc.net
rocktの登場で居場所はとうの昔になくなってたはずだが?
177:login:Penguin
21/01/09 19:04:27.89 pshOY4NZ.net
自作ソフトのdockerイメージを作って配布しようとしているんですが、設定ファイルの類はどうするのが普通ですかね?
1. 配置するディレクトリを決めておいて使用する側でmountしてもらう
2. volumeを作ってそこに置いてもらう
3. デフォルトの設定ファイルをイメージ内に配置して、使用する側で上書きしてもらう
4. その他
ケースバイケースの場合は判断ポイントなどを教えてください。
178:login:Penguin
21/01/09 19:33:53.86 vXKDEOHB.net
設定の構文が複雑ならファイルをサポート
そうでないならコマンドライン引数、環境変数、ファイルを全部サポート
179:login:Penguin
21/01/09 19:39:21.47 Xx9/0RY+.net
>>175
コマンドラインの引数や環境変数は?
Amazon ECSはこれらの方法でしか設定を入れられないから
環境変数で設定出来た方が便利
ECSの機能を使わず、ホスト上にファイルを配置しておけば設定ファイルも使えるが、わりと面倒くさい
k8sだとConfigMap、Secretの内容をファイルとしてマウント出来たりして便利だった
パスワードのような機密情報はコマンドライン引数にするとまる見えになるから
設定ファイルや環境変数にすべき
Traefikだったら複数の設定方式に対応してて
・コマンドラインの引数
・設定ファイル(場所は固定っぽい)
・環境変数
どれも自由に選んで使えた
設定ファイルは変更を検知して自動的に反映する設定も可能なので
別途、同じディレクトリをマウントしたサイドカーコンテナを作って
独自のConfigProvider作れたりとか
夢が広がりんぐ
180:login:Penguin
21/01/09 19:57:14.26 pshOY4NZ.net
>>176
>>177
動かそうとしているアプリケーションは設定ファイルのみを使用しますので、それを実行する側の
ユーザー環境で差し替えさせるにはどういうやり方をすればいいかという質問でした。
実行環境は社内のユーザーにdockerを用意してもらう前提で、amazon等のcloudの利用は想定していません。
1.,のようにホストのディレクトリをマウントさせるのが普通ですかね?
181:login:Penguin
21/01/09 20:04:36.62 vXKDEOHB.net
>>178
差し替える方法はユーザーが自分達の環境に合わせて考えること、なのでイメージ提供者はあまり考えなくていい
どこに、どんな形式のファイルを置けばいいのか、だけを仕様として明確化すること
182:login:Penguin
21/01/09 20:06:58.83 pshOY4NZ.net
>>179
ありがとうございます。それはつまり、
>3. デフォルトの設定ファイルをイメージ内に配置して、使用する側で上書きしてもらう
これでいいってことですかね?
183:login:Penguin
21/01/09 20:07:54.19 73ECCOc1.net
>>180
それでいいです
184:login:Penguin
21/01/09 20:09:58.67 73ECCOc1.net
設定ファイルの書き換えをスクリプトで行いたいユーザーのために、エントリーポイントにフックを仕掛けるとより親切
185:login:Penguin
21/01/09 20:11:45.33 pshOY4NZ.net
なるほど、ありがとうございました!
186:login:Penguin
21/01/11 02:15:48.57 zpurJaCg.net
rktって開発中止されてたのか。
187:login:Penguin
21/01/11 11:19:34.46 ZlDEkoeZ.net
>>184
気づくの遅くね?
188:login:Penguin
21/01/11 12:15:18.06 89OcdB6i.net
結局dockerがメジャーなままなのね
189:login:Penguin
21/01/11 12:36:25.01 NoL+Y9f0.net
podmanとK8S
190:login:Penguin
21/01/11 12:58:21.16 r3JkpTc1.net
docker楽でいいね
docker-composeをアップすると自動でやってくれるレンタルサーバとかクラウドサーバないでっか?
191:login:Penguin
21/01/11 13:10:41.31 dD9m53n1.net
Windows、Macはまだdockerが主流なんだっけ?
192:login:Penguin
21/01/11 13:38:06.53 u+O//c17.net
K8SがデファクトスタンダードだからDCでの運用ノウハウを探すの大変だよ
素直にK8Sを勉強したほううがいい
大変なのは最初だけ
193:login:Penguin
21/01/11 14:10:04.17 5exndTNV.net
1ノードしかない場合のそのへんの得失ってどうなんだろう。
サーバー1台だとオーバースペックというか無駄に複雑になるだけにも思うけど。
194:login:Penguin
21/01/11 14:31:52.64 ZlDEkoeZ.net
kubernetesは色々運用管理に必要なものが揃ってて便利だが
使わないならオーバーキルな気はする
k3sは知らんが、本家のKubernetesは重過ぎ
使うなら最初はマネージドで
コントローラーに追加費用要らない所も多い
GKEは高可用性無しなら1つだけ無料
AKSやLinodeは無料
DigitalOceanは無料だが日本のデータセンターが無い
EKSは未だに有料
195:login:Penguin
21/01/11 14:36:35.08 +C1ZDq6A.net
最初はっていうかずっとマネージドでいいと思う
オンプレミスでK8S管理は辛いよ
196:login:Penguin
21/01/11 14:39:59.24 btG2xty8.net
Kubernetesは起動するだけでメモリ1GBを消費する
つまり最小構成のVMではかろうじて動くが
そのVMを実用的に使うことはできない
最初からそれだけのメモリをKubernetesに
与えてもいいぐらいの規模が前提となってる
197:login:Penguin
21/01/11 14:42:29.11 ZlDEkoeZ.net
k8sはYAMLの記述量が多過ぎなのも嫌われる一因
helmもYAMLとGoTemplateと言うやばい組み合わせのせいで汚い
kustomizeもなんかアレ
tankaとかkapitanならjsonnetで書ける
YAMLをテンプレートでやるより100倍いい
URLリンク(github.com)
URLリンク(github.com)
198:login:Penguin
21/01/11 14:44:38.52 ewQPp1QF.net
k0sってどうなの?
199:login:Penguin
21/01/11 14:52:17.06 NoL+Y9f0.net
docker-composeが一番だ
k8sよりswarmのほうが完成度が高いのになぜ使わないんだろう?
200:login:Penguin
21/01/11 14:55:24.87 cXgFbbRO.net
複雑怪奇なYAMLベースのDSLを作らないでほしいね
201:login:Penguin
21/01/11 15:47:51.70 biM4wIYB.net
*.hcl
わかりやすい
202:login:Penguin
21/01/11 16:13:41.30 ECUSqoWw.net
.hcl自体はわかりやすくても
それをもとに作られたDSLがなぁ
203:login:Penguin
21/01/11 16:38:58.12 5exndTNV.net
ところで質問。
docker-compose のサービスをいきなり docker run 相当で起動するんじゃなくて
docker create -> docker cp -> docker start みたいなことってできないのかな?
あるいは swarm や k8s だとどうだろう。
204:login:Penguin
21/01/11 16:40:52.22 89OcdB6i.net
なるほど。ただ、podmanであってもdockerfileの置き換えには至ってない雰囲気。
軽くしようとすると途端に難易度が高くなるツールだ
205:login:Penguin
21/01/11 17:42:10.87 89OcdB6i.net
Buildahというのがあるようだ。
どの程度の性能か謎ではあるが……。
206:login:Penguin
21/01/12 08:35:36.58 KVG+KHkJ.net
>>201
docker-composeなら
ファイルはボリュームでマウントすれば良いし
イメージがshとかbashでのcommand実行に対応してれば何らかの初期化処理も可能だ
scratchイメージでsh入ってなかったら無理だが
207:login:Penguin
21/01/12 21:10:42.90 KVG+KHkJ.net
Docker BuildKit: faster builds, new features, and now it’s stable
URLリンク(pythonspeed.com)
208:login:Penguin
21/01/12 21:11:26.23 M4v6YD34.net
直接そういうことができる機能は無いから別の手を考えないとならないということね。ありがとう。
209:login:Penguin
21/01/13 15:47:51.27 .net
docker-composeで独自モジュールをpipでいストールしたけど
その独自モジュールのソースを微妙に変更して、docker-composeやり直しても更新してくれない。。
docker-compose down --rmi all --volumes --remove-orphans
してもコンテナもイメージも残ったままなのがたぶん原因なんだろうけど・・
手動でポチポチ消すしかないのかなぁ
210:login:Penguin
21/01/13 16:01:06.97 bWUxShca.net
docker-compose build --no-cache
211:login:Penguin
21/01/13 16:17:00.23 .net
>>208
ちょっとだけ構築速度おそくなったけどできた!㌧クス!
212:login:Penguin
21/01/13 17:51:21.77 rA2yTqxj.net
no cacheオプションだから遅くなるのは当然でしょ
213:login:Penguin
21/01/13 19:38:49.48 .net
メモ
docker image prune
で消えねえと思ったら-aオプションいるのね・・
docker image prune -a
消したくないやつは稼働させたままやったら
稼働してないやつだけ消えてめちゃくちゃ捗った
(稼働中のやつには無影響なのかはわからないけど)
214:login:Penguin
21/01/13 19:46:33.52 .net
できれば、pipでインストールする自作ライブラリの訂正部分だけ更新できるようにしたいけど
--no-cacheするかイメージもコンテナも全部消してから再ビルドしないと適用してくれない・・
非公開gitからクローン → python setup.py sdist → pip install ○○
みたいにDockerファイルのRUNでやってるのがだめなのかな
215:login:Penguin
21/01/13 20:07:09.42 PWUDNnFH.net
>>212
自作ライブラリをインストールした以降のイメージだけを削除したら。
216:login:Penguin
21/01/13 20:07:20.37 bWUxShca.net
ARGでタグかブランチを指定するんですよ
217:login:Penguin
21/01/13 20:18:05.93 .net
>>213
>>214
なるほやってみる㌧
218:login:Penguin
21/01/14 23:12:11.80 Pm6qmODH.net
>>1
>Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けて
具体的に言うと?
219:login:Penguin
21/01/15 08:17:15.80 qYm5MEeF.net
hypervisord最強おじさんktkr
220:login:Penguin
21/01/15 08:27:02.67 IT9cRebK.net
super...
221:login:Penguin
21/01/15 08:28:31.76 TKANrLkr.net
>>216
困難は特にないよ
222:login:Penguin
21/01/15 08:30:31.77 KcZzwMNW.net
具体性0
223:login:Penguin
21/01/15 08:32:09.93 42ZtZd/z.net
面倒なだけで問題はないよね。
面倒という指標だとk8sは更に最初が面倒なわけで
224:login:Penguin
21/01/15 08:37:37.33 TKANrLkr.net
dockerわかってないのにわかった風のおじさんが、僕には困難です、と書いただけだから気にせんでええ
次スレまでいったら、テンプレから削除していいよ
225:login:Penguin
21/01/15 08:41:58.25 0MH2boun.net
説明になってない
226:login:Penguin
21/01/15 08:55:51.38 ouI6ZQHD.net
>>216
複数のサービスを起動する場合、systemdが一般に使われるが
systemdを使うのは大変
URLリンク(stackoverflow.com)
可能な限り、コンテナ内のsystemdは避けることをお勧めします。
Systemdは、ファイルシステムをマウントし、いくつかのカーネルパラメータを制御し、
プロセス出力をキャプチャするための独自の内部システムを持ち、システムスワップスペースを構成し、
巨大なページとPOSIXメッセージキューを構成し、プロセス間メッセージバスを開始し、
端末ごとのログインプロンプトを開始し、システムサービスのスワス。
これらの多くは、Dockerがあなたのために行うことです。
その他は、Dockerがデフォルトで防止するシステムレベルのコントロールです(正当な理由があります)。
通常、コンテナに1つのことを実行させたい場合があります。これには、複数の調整プロセスが必要になる場合がありますが、
通常、systemdがプロセスマネージャーを提供する以外のことを実行したくない場合があります。
systemdは非常に多くのホストレベルのパラメーターを変更するため--privileged、
Dockerの分離を破るような実行が必要になることがよくありますが、これは通常は悪い考えです。
質問で言うように、通常、コンテナーごとに1つの「ピース」を実行するのが最適と見なされます。
これができない場合は、DockerとUnixの両方の哲学において、
initプロセスに必要な最小限の処理を実行するsupervisordのような軽量プロセスマネージャーの方が適しています。
227:login:Penguin
21/01/15 09:02:40.75 ouI6ZQHD.net
>>216
これとか読むといいかも。公式がVMじゃないと言ってる。
Containers are not VMs
URLリンク(www.docker.com)
> しかし、これを言っても、VMに関する現在の考えやプロセスを適応させ、
> コンテナーに適用しようとしています。
>
> 「コンテナをバックアップするにはどうすればよいですか?」
> 「実行中のコンテナのパッチ管理戦略は何ですか?」
> 「アプリケーションサーバーはどこで実行されますか?」
>
> 私にとって、Dockerは仮想化テクノロジーではなく、アプリケーション配信テクノロジーで
> あることに気付いたとき、電球の瞬間が訪れました。
これとかも
So, You’re Saying Docker Isn’t A Virtual Machine???
URLリンク(derickbailey.com)
A
228: Docker container is not a virtual machine. A Docker container is application virtualization.
229:login:Penguin
21/01/15 09:06:01.49 ouI6ZQHD.net
複数のサービスを実行することは可能だが、推奨しないと書いてある。
そしてこの記事に書いてある複数のサービスを実行する方法を見ればわかるように
仮想マシンのように気軽にはできずコードを書く必要がある
Run multiple services in a container
URLリンク(docs.docker.com)
コンテナの主な実行プロセスは、ENTRYPOINTおよび/またはCMDの最後ですDockerfile。
一般に、コンテナごとに1つのサービスを使用して、関心のある領域を分離することをお勧めします。
そのサービスは複数のプロセスに分岐する可能性があります(たとえば、Apache Webサーバーが
複数のワーカープロセスを開始します)。複数のプロセスがあっても問題ありませんが、
Dockerを最大限に活用するには、1つのコンテナーがアプリケーション全体の複数の
側面を担当することを避けてください。ユーザー定義のネットワークと共有ボリュームを使用して、
複数のコンテナーを接続できます。
230:login:Penguin
21/01/15 09:06:22.47 42ZtZd/z.net
そもそもコンテナを仮想マシンの代替として使うケースはほぼないだろ。
1に書くような話ではないな
231:login:Penguin
21/01/15 09:09:09.98 ouI6ZQHD.net
> Handling such processes this way is superior to using a full-fledged
> init process such as sysvinit, upstart, or systemd to handle process lifecycle within your container.
sysvinit, upstart, or systemd を使うよりも
自分でコンテナのメインプロセスを作ったほうがいい
232:login:Penguin
21/01/15 09:27:49.50 IT9cRebK.net
たとえばnginxとphp-fpmを別コンテナにする気もないから自作シェルエントリポイントにしてる
俺はやらないがsupervisordで制御してもいいだろう
systemdまで入れるならlxcかkvmにするけど
233:login:Penguin
21/01/15 09:41:57.89 ouI6ZQHD.net
つまりは仮想マシンであれば標準でsystemdなどが起動してるから
サービスを起動させるにはパッケージインストールして
ちょっと設定ファイルを書き換える程度の簡単な作業だが
Dockerでやる場合、systemdなどを使わずに
自分でスクリプト書いて起動と停止を制御しなきゃいかんのよ(Docker推奨の方法)
頑張ればsystemdを動かすことも出来るが、そのために --privileged オプションが
必要になるかもしれないし、その他の調整が必要になるかもしれない
何が必要かは起動するサービスによって違うので試行錯誤が必要になる
だからDockerはsystemdを使わずに自作スクリプトで制御することを推奨してる
systemdを使うぐらいならより軽量のsupervisordを使うほうがいい
もちろんパッケージインストールして終わりではなく
自分で設定ファイルを書く必要がある
234:login:Penguin
21/01/15 11:19:21.19 TKANrLkr.net
😫マルチプロセスコンテナ否定派
・1つのサービスのために多数のコンテナイメージをリリース
・イメージ使用者に面倒くさいymlを書かせる
🤗マルチプロセスコンテナ肯定派
・1つのサービスのために1つのコンテナイメージをリリース
・Supervisor等の設定を開発側が書いて出荷するのでイメージ使用者はdocker runするだけ
235:login:Penguin
21/01/15 11:30:48.83 S7oMpLHl.net
じゃあちゃんと責任持って管理してね🤗
236:login:Penguin
21/01/15 11:40:55.50 u8cDb4A3.net
仮想マシンみたいなことしたかったらLXCでよくね?
しらんけど
237:login:Penguin
21/01/15 11:42:10.14 dw4hxnTe.net
・イメージ使用者に面倒くさいymlを書かせる
別に良くね?
238:login:Penguin
21/01/15 11:43:48.41 TKANrLkr.net
>>233
仮想マシンみたいなことがしたいならシステムコンテナでいいと思うよ
単にマルチプロセスってだけならアプリケーションコンテナのほうがいい
239:login:Penguin
21/01/15 11:46:03.25 IT9cRebK.net
「プロセス」「サービス」を意図的に混同して相手を貶める
240:login:Penguin
21/01/15 11:47:25.35 TKANrLkr.net
>>234
良くない
負担を減らせるなら減らしたほうがいい
ホスピタリティの精神だよ
セルフサービスで全部やってねなんてのは二流だ
もちろん分散型のイメージを提供するなと言ってるわけじゃない
分散型をオプションとしてサポートするのも良い事だ
241:login:Penguin
21/01/15 11:50:16.05 dw4hxnTe.net
マルチプロセス派は配布して終わり!じゃなくてその後の運用まで考えてるのか?
242:login:Penguin
21/01/15 11:52:42.16 TKANrLkr.net
>>238
運用もシングルコンテナのほうが簡単でしょ
243:login:Penguin
21/01/15 12:03:39.22 dw4hxnTe.net
>>239
なんで?
244:login:Penguin
21/01/15 12:06:00.89 TKANrLkr.net
>>240
1つの物管理するのと多数の物を管理するのじゃ前者のほうがかんたんだ
常識的に考えればいい
245:login:Penguin
21/01/15 12:23:08.21 dw4hxnTe.net
複数サービスのログ管理はどうする?
まさかファイル出力にしてlogrotatedとかも突っ込むの?
それかコンテナ自体のログを複数のサービスからのログが流れてる状態にするの?
ログ管理のSaaSへログの集約がしたくなったらどうする?
エージェントもコンテナに突っ込むのか?
複数コンテナで
ログは全部コンテナのログにしておけば
dockerのログだけローテーションすれば済むじゃん
ロギングドライバ変えたり
ログ転送のエージェントは別コンテナにしたりできる
246:login:Penguin
21/01/15 12:38:44.17 uuEHso6B.net
個別に更新するのだから、バラバラの方が管理しやすい。負荷分散も容易。
一箇所にまとめるのは滅多に変えない時だけね。
247:login:Penguin
21/01/15 12:39:04.30 IT9cRebK.net
そんなもんそれぞれのプロセスがstderrに流すだけ
あとはホスト側でどうにでも
248:login:Penguin
21/01/15 12:41:17.01 uuEHso6B.net
纏めた方が楽という人は、k8sのメリット関連の文献を読んだほうが良い。基本的に個人でも同じ。
依存関係が原因のレガシー化を防ぐには、細かく分けて疎結合というのがマイクロサービスの基本。
249:login:Penguin
21/01/15 12:45:13.28 dw4hxnTe.net
supervisord管理下のプロセスの死活監視やリソース使用の監視はどうするんだ?
同じイメージに監視ツールのエージェント突っ込むのか?
もうめちゃめちゃ複雑だし、イメージに汎用性がない
複数アプリがあったら全部これやれってアプデも対応しろって言うの?面倒過ぎ
普通にマルチコンテナで動いてたら
Dockerコンテナが動いてるかどうかや、コンテナのCPU、メモリ使用量などの監視で済む
監視ツール変えたくなってもアプリのイメージをいじる必要がない
アプリ固有のメトリクスを記録監視するならアプリイメージに対応必要だが、
これらの基本的なメトリクスを取りたいだけなら対応不要
250:login:Penguin
21/01/15 12:53:47.70 dw4hxnTe.net
>>244
ホスト側!?
結局分けるんじゃん
じゃあsupervisordもやめたら良くね?
251:login:Penguin
21/01/15 12:57:26.12 TKANrLkr.net
>>242
コンテナのログとして出せばいいだけ
252:login:Penguin
21/01/15 12:57:59.15 TKANrLkr.net
>>243
実は他者製のクラスタを個別に更新することは少ない
253:login:Penguin
21/01/15 13:00:28.33 TKANrLkr.net
>>245
k8sは大規模すぎるので導入障壁が大きい
1コンテナシステムは小規模から手軽に開始できる
254:login:Penguin
21/01/15 13:01:39.19 TKANrLkr.net
>>245
なんでもかんでもバラす必要性はない
Spotifyの事例にもあるようにミクロサービスからモジュラーモノリスに回帰した大規模サービスもある
255:login:Penguin
21/01/15 13:03:22.31 TKANrLkr.net
>>246
昔からやってる事をやるだけ
開発側にばノウハウが大量にあるのでなにも苦にならない
重要なことは利用者側が楽になること
256:login:Penguin
21/01/15 13:05:01.57 uuEHso6B.net
弊社の勤怠管理システムはIE限定です!
一箇所にまとめるとこうになる。
まあ、慣れてるからそれが良いという人はご自由にどうぞかな
257:login:Penguin
21/01/15 13:05:35.87 dw4hxnTe.net
>>252
>開発側にばノウハウが大量にあるのでなにも苦にならない
よくわかんない
258:login:Penguin
21/01/15 13:05:44.73 TKANrLkr.net
>>253
意味不明な論点ずらし乙
259:login:Penguin
21/01/15 13:06:09.65 TKANrLkr.net
>>254
わかる
260:login:Penguin
21/01/15 13:06:47.32 TKANrLkr.net
仕事に戻るからまた後でな
261:login:Penguin
21/01/15 13:16:57.33 dw4hxnTe.net
>>251
Spotifyにsupervisord最強おじさんはいない
262:login:Penguin
21/01/15 13:19:56.79 IT9cRebK.net
>>247
supervisord使うなんて一言も言ってないけど
コンテナ別にログ分けるのはホスト側のrsyslogdで十分
263:login:Penguin
21/01/15 13:27:24.22 uuEHso6B.net
>>255
まとめるとレガシー化しやすいってこと。
264:login:Penguin
21/01/15 13:38:59.66 dw4hxnTe.net
1コンテナマルチプロセスにしろってsupervisordにしろってことだろ
そんな事やったらサービス単位で更新できないし、
supervisordの面倒見るのもいやだな
Docker自体がある意味supervisordみたいな物だから
supervisord in supervisordするって事じゃん?
265:login:Penguin
21/01/15 14:24:59.58 IT9cRebK.net
「プロセス」「サービス」を意図的に混同して話をややこしくする
nginxとphp-fpmを別コンテナにするメリットがあるのかね
266:login:Penguin
21/01/15 16:05:59.73 cz1NjHRF.net
>>251
Shopifyじゃなくて?
267:login:Penguin
21/01/15 16:09:00.97 6mixkv7d.net
>>262
まあマルチプロセスなベースイメージをそうと知らないまま使っている阿呆も中にはいるだろうね
268:login:Penguin
21/01/15 16:11:53.56 NRANT14o.net
バカには疎結合なんか、分からんから、ほっとけほっとけって
269:login:Penguin
21/01/15 16:25:32.08 TKANrLkr.net
>>261
オーケストレーションの手間暇を利用者側に押し付けるか、開発側でやってあげるかの違い
小規模のスタートアップなら全部開発側に丸投げしてdocker runするだけのほうがかんたんだ
270:login:Penguin
21/01/15 16:28:50.03 TKANrLkr.net
>>265
疎結合と一言で言っても色々ある
ミクロサービスは疎結合の代表だが
別にミクロサービスじゃなきゃ疎結合できないわけじゃない
さっきも言ったように
サービスとしてはモノリスでもコードレベルで高度にモジュール化することで疎結合を達成するモジュラーモノリスのような考え方もある
コンテナは1つでも内部のサービスが疎結合ならなんの問題もないのだ
271:login:Penguin
21/01/15 16:29:53.28 TKANrLkr.net
>>263
そうだっけ?正確にはググって
272:login:Penguin
21/01/15 16:35:15.87 TKANrLkr.net
で、この1コンテナ、マルチプロセス(サービス)で成功してる代表的なコンテナがGitLabね
薄っぺらい表面的な知識しかない連中と違って、流石にGitLabのエンジニア達は深く理解してる
杓子定規にコンテナを分ける必要はない、背景が不明な不特定多数に配布するなら、むしろバンドルしたほうがいい、と理解してる
273:login:Penguin
21/01/15 16:40:51.49 6mixkv7d.net
GitLabはセルフホスティング対応が大前提だからそうなってるんだよ
シングルインスタンスなSaaSとは別次元の話
274:login:Penguin
21/01/15 16:59:15.47 TKANrLkr.net
つまり利用者側からは1コンテナのほうがいいってことだ
275:login:Penguin
21/01/15 17:41:15.88 TKANrLkr.net
基本は1コンテナなんだよ
ちゃんと利用者のことを考えてるならな
で厳しい要件満たすために、分散管理したい連中のために、いちおうバラ売りコンテナも用意しとく
それがベストプラクティス
さいしょっから分散管理のみサポートします、なあんて、怠惰もいいとこだ
276:login:Penguin
21/01/15 18:55:24.75 dw4hxnTe.net
それはご苦労なこった
俺は怠惰だからメインのコンテナ以外はありあわせのイメージ使うぜ
277:login:Penguin
21/01/15 19:21:01.23 F2PkWUyM.net
自社以外に誰も求めてないマイナーサービスは最初からバラ売りでもいい
278:login:Penguin
21/01/16 12:37:44.49 iVfNA5oL.net
複数のサービスを一つのコンテナにまとめたほうがいいって言ってるやつは
複数のサービスが一つのコンテナになってるから
"使うのが楽"って言ってるんだよ。
作るのが大変の否定になってない
>>1は作るのが大変と言っている
> Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けています。
Dockerを使ってると言いつつ、自分でDockerfileもyamlも書かずに
ただ誰かが作ったものを使うだけのやつは、Dockerを使ってるとは言えない
んで、使ってるだけのやつが、使うのが楽と言ってる
複数のサービスを一つのコンテナに入れるのがどれだけ大変かわかってない
だって自分で作ってないんだもの
279:login:Penguin
21/01/16 12:50:03.28 TRxochm9.net
いやいや、作るのもめちゃくちゃ簡単だぞ?
Supervisorとか使うだけ
Dockerfileも既存のchefなんかが、殆どそのまま使える
280:login:Penguin
21/01/16 13:00:59.25 TRxochm9.net
コンテナを分けないことで、お互いのサービスの提供するコマンドラインツールを使いやすくなるのも、便利だな
ある古いサービスAの、管理者用のコマンドラインがあるんだが、、、
これはサービスAをインストールしたマシンで、ローカル実行する必要があった
もちろん、RPCなどという気の利いたものは、ない
開発者からすると、SSHがあればいいでしょ?みたいな気持ちだったんだろうな
そして、サービスBからこのコマンドラインを実行したい、と、なったわけだ
もし、サービスAとサービスBのコンテナを、分けてしまったら
サービスBから、このコマンドラインを実行するのは、普通の方法では、不可能だ
docker.sockをマウントして、サービスBコンテナからdocker execするか、、、
サービスAを拡張してRPAを追加しなきゃならない
あるいは、サービスAを、マルチサービス、にして、SSHを追加するか、、、
1コンテナだったら簡単なのに!
281:login:Penguin
21/01/16 13:05:52.72 d+XwEvch.net
オンプレの延長だな
282:login:Penguin
21/01/16 13:07:11.86 5ICFXjQI.net
データベースは既存のサーバーが使えたほうが便利と思うけど
AWSのRDSとか使わせろ
283:login:Penguin
21/01/16 13:09:50.55 iVfNA5oL.net
>>276
> いやいや、作るのもめちゃくちゃ簡単だぞ?
> Supervisorとか使うだけ
使うだけじゃなくて設定ファイルとか書かないと駄目だろ
ログをどうするかとかさ、永続的なファイルをどうするかとかさ
284:login:Penguin
21/01/16 13:10:27.15 iVfNA5oL.net
> Dockerfileも既存のchefなんかが、殆どそのまま使える
chefを使うってアホじゃないか
Docker使う意味がなくなってる
285:login:Penguin
21/01/16 13:10:30.88 TRxochm9.net
このように、1サービス1コンテナの精神で細かく分離すると
サービス同士が疎結合になり、一見すると良いように思える
しかし、疎結合である、ということは、サービス間の連携のオーバーヘッドが増える、ということだ
サービスはRPCを実装しなければならず、開発者は疲弊する
サービスメッシュの管理コストは増大し、運用者は疲弊する
これはミクロサービスの功罪と同じことだが、なんでもかんでも、小さく分けて、疎にするのが、常に正解なわけじゃない
全てはトレードオフなのだ!
たしか、マーティンファウラーだったと思うが
彼曰く、最初からミクロサービス的な思想に傾倒した案件は、失敗することが多い、らしい
最初はモノリスのほうが、うまく行くのだ
システムが、モノリスでは到底手に負えないほど、巨大化してから初めて、分割することを考えれば、よろしい
286:login:Penguin
21/01/16 13:11:04.23 TRxochm9.net
>>280
そんなことも出来ないの?
287:login:Penguin
21/01/16 13:12:08.94 iVfNA5oL.net
>>277
それ、仮想マシン使えって話なんだ
288:login:Penguin
21/01/16 13:12:36.46 iVfNA5oL.net
>>283
作るのが大変だって話をしてる
出来るできないの話ではない
289:login:Penguin
21/01/16 13:12:54.17 TRxochm9.net
>>281
あるぞ
GitLab公式コンテナはChefで動いてる
290:login:Penguin
21/01/16 13:13:24.74 TRxochm9.net
>>285
大変じゃないけど?
291:login:Penguin
21/01/16 13:15:45.87 iVfNA5oL.net
まあここを読めって話だな
Supervisor と Docker を使う
URLリンク(docs.docker.jp)
292:login:Penguin
21/01/16 13:16:07.78 iVfNA5oL.net
>>287
apt-getでインストールするだけ vs 設定ファイルを自分で書く
293:login:Penguin
21/01/16 13:16:30.37 iVfNA5oL.net
>>286
> GitLab公式コンテナはChefで動いてる
それを同じことをお前が作るのは大変だって話をしてる
294:login:Penguin
21/01/16 13:18:13.82 7o928iA8.net
>>284
仮想マシンは重いからやだ
295:login:Penguin
21/01/16 13:18:42.21 7o928iA8.net
>>289
どっちも大変じゃないけど?
296:login:Penguin
21/01/16 13:19:01.25 5ICFXjQI.net
supervisordの方が面倒くさい
docker-composeの方が楽
297:login:Penguin
21/01/16 13:19:35.25 7o928iA8.net
>>290
大変じゃないけど?
もちろんGitLabほどの製品を作るのは無理だろうけどChefでコンテナを作るのは誰だってできる
298:login:Penguin
21/01/16 13:20:33.01 7o928iA8.net
>>293
そりゃ、手間を利用者側に、オシツケテル、からでしょ
299:login:Penguin
21/01/16 13:25:53.65 5ICFXjQI.net
docker-compose psしたらsupervisordが生きてたらupと表示されるが
設定にミスがあった場合や問題が起きた場合もsupervisordさえ生きてたらupと出る
判定するにはログやsupervisordのあるコンテナ内でコマンド実行が必要
どこが優しいねん
300:login:Penguin
21/01/16 13:32:34.07 5ICFXjQI.net
>>288
A container’s main running process is the ENTRYPOINT and/or CMD at the end of the Dockerfile.
It is generally recommended that you separate areas of concern by using one service per container.
That service may fork into multiple processes (for example, Apache web server starts multiple worker processes). It’s ok to have multiple processes, but to get the most benefit out of Docker, avoid one container being responsible for multiple aspects of your overall application.
You can connect multiple containers using user-defined networks and shared volumes.
URLリンク(docs.docker.com)
301:login:Penguin
21/01/16 13:33:38.70 7o928iA8.net
>>296
ミスがある前提なら何やっても駄目だろ
ひでー詭弁だな
302:login:Penguin
21/01/16 13:33:54.29 5ICFXjQI.net
avoid one container being responsible for multiple aspects of your overall application.
avoid one container being responsible for multiple aspects of your overall application.
303:login:Penguin
21/01/16 13:34:41.89 5ICFXjQI.net
>>298
開発や運用でトラブルが一切無いと考える方が頭おかしい
304:login:Penguin
21/01/16 13:36:10.72 5ICFXjQI.net
dockerやdocker-composeだけでsupervisordのやってる事と同じ事が出来る
余計なコンポーネントを増やすな
305:login:Penguin
21/01/16 13:39:18.26 7o928iA8.net
>>300
なら1コンテナ1プロセスでも間違いは起こるなー
306:login:Penguin
21/01/16 13:39:56.86 7o928iA8.net
>>301
aupervisorだけでdockercomposeがやるようなことはできる
余計なコンポーネントを増やすな
307:login:Penguin
21/01/16 13:42:03.31 5ICFXjQI.net
>>303
supervisordあったらdocker要らなくね?
308:login:Penguin
21/01/16 13:47:58.61 5ICFXjQI.net
既存のデータベース使うとかは考えないの?
データベースの入ってないDockerイメージと
入ってるイメージ2種類作るのか?
それか起動時のスクリプトにフラグ追加?
だったら最初から分けとけよ
めんどくさい
309:login:Penguin
21/01/16 14:03:15.18 Q9Gxtc5G.net
>>304
要る
svに限らず、全ての依存関係を、imageにパッケージングする機能
インスコした物を、キレイサッパリ、廃棄する機能
お手軽サンドボックス
ありがとう、docker!
310:login:Penguin
21/01/16 14:05:12.85 Q9Gxtc5G.net
>>305
お前さー、少しはレス読みなよ
分散用に、分けたコンテナをオプションで配布する、ことまではヒテイしとらんだろ
言うなれば、マルチサービスコンテナファーストだよ
シングルサービスコンテナはオプションだ
311:login:Penguin
21/01/16 14:05:40.84 kbdLhinp.net
>>306
LXCか仮想マシンに直接インスコでよくね?
docker使うならsupervisord使わなくても
docker-composeのyml配れば良いじゃん
何も問題ない
312:login:Penguin
21/01/16 14:07:23.52 kbdLhinp.net
>>307
くそデカイメージと小さいイメージ2種類用意するのが面倒
docker-composeなら簡単にかけて
小さいイメージ1種類で済む
313:login:Penguin
21/01/16 14:08:38.07 Q9Gxtc5G.net
>>305
それとな、内部DBと外部DBを選択できるコンテナは、わりとよくある
スタンドアロンだとsqlite、そうじゃないとpostgres、mysqlのどっちか
てなわけよ
スタンドアロンファースト
(・∀・)イイネ!!
314:login:Penguin
21/01/16 14:12:15.37 Q9Gxtc5G.net
>>309
小ささにこだわって、オーケストレーションマニフェスト書かせたり、運用の手間を増やすな
カリッカリにチューニングしたい、オタク共に合わせるのは、大半のユーザーにとっては面倒でしかないんだよ
多少、重くていいから、お手軽に使わせろ、ってーの
315:login:Penguin
21/01/16 14:24:51.12 kbdLhinp.net
>>310
sqliteはプロセス要らないからいいが
mysqlやpostgresqlを突っ込めというのはキ○ガイの所業
複数DB対応するには普通は対応コストがかかる
DBラッパー使っても特定DBにしか対応してない拡張は使えないし
docker-composeで書いても大した記述量でもあるまいに
意図的に無視してるな
316:login:Penguin
21/01/16 14:28:59.91 kbdLhinp.net
>>311
docker-compose配ればいいだけだろ
基地外
317:login:Penguin
21/01/16 14:32:15.75 Q9Gxtc5G.net
>>313
podmanで動くようにしろ
K8Sで動くようにしろ
Nomadで動くようにしろ
うちの環境はだと動かないんだが?
、、、
お前これ全部対応できんの?
318:login:Penguin
21/01/16 14:34:53.03 kbdLhinp.net
手軽に試すなら普通はdocker-compose使うから
そんな特殊なやり方で対応する必要がない。
k8sやらnomadに手軽さは求めてないし。
k8sでやるんだったらhelmチャートあると便利。
319:login:Penguin
21/01/16 14:37:33.02 Q9Gxtc5G.net
マルチコンテナだとこうやって、実行環境に会わせて、オーケストレーションマニフェストをたくさん書かなきゃならん
一方でシングルコンテナなら、docker runするだけ
超簡単で、みんなハッピー
しかも、podmanでも、同じように動く
320:login:Penguin
21/01/16 14:39:41.23 kbdLhinp.net
そんな手軽さ別に求めてないし。馬鹿なの?
docker-compose用意してたら大体想定されている使い方分かるから、
自分でYAMLなり何なり書けば良いだけ
321:login:Penguin
21/01/16 14:50:08.02 Q9Gxtc5G.net
>>317
ユーザーに、手間をかけさせちゃ、だめだ
GitLabはこれをよくわかってる、から、1コンテナに詰め込んだ
ユーザーはdocker runするだけで、GitLabを使えるようになった
これが、マルチコンテナだったら、まあ、大変だよ
322:login:Penguin
21/01/16 15:03:01.91 Q9Gxtc5G.net
自作PCとスマホ、みたいなもんかなー
マルチコンテナ≒自作PC
このパーツ、あのパーツ、色々集めて、ミスしないようにくみたてて、ドライバとかも探して、入れて下さい
ツールは別売りなんで、それも自分で探して、入れてください
組み合せが悪いと、動かないかもしれません
でも、まあ、自己責任です
スマホ≒シングルコンテナ
スマホを購入して、箱から出して、電源を入れて下さい
WIFIとアカウントの入力だけ、お願いします
驚きましたか?そうです、もう使えます!
必要になりそうなアプリケーションも、予め揃えてあります
おめでとうございます!
323:login:Penguin
21/01/16 15:03:11.70 kbdLhinp.net
>>318
作る側の手間がかかり過ぎるって言ってんだろ馬鹿なの?
だから誰も真似しない
本格運用しないならdocker-composeで動けば十分だろバーカ
324:login:Penguin
21/01/16 15:05:02.96 kbdLhinp.net
なんでそんなちょっと試して見るだけのくそでかイメージが
あらゆる環境で動く事を気にする必要がある???
325:login:Penguin
21/01/16 15:06:42.89 Q9Gxtc5G.net
>>320
大した手間じゃないよ
一流は自分達の、多少の手間を惜しんで、ユーザーの負担を、増やそうとはしない
二流は自分達が、ほんの少し楽したいからって、ユーザーに手間をオシツケテル
GitLabは超一流だ
だから、シングルコンテナを選んだ
そのほうが、ユーザーが、楽だからだ
326:login:Penguin
21/01/16 15:08:16.52 Q9Gxtc5G.net
>>321
世界に公開するイメージなら、どの環境でも、簡単な手順で、動いたほうがいいに、決まってる
327:login:Penguin
21/01/16 15:09:08.10 kbdLhinp.net
>>322
そんな物誰も求めてないから真似しないんだと思うよ。
328:login:Penguin
21/01/16 16:14:05.11 xgde4k3r.net
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock my-awesome-app docker-compose up
329:login:Penguin
21/01/16 17:46:05.64 A/RioSjd.net
docker.sockをさらけ出すとあぶない
330:login:Penguin
21/01/16 20:08:19.27 agw/Ae5n.net
>>226でDockerてのは設計としては1コンテナ1プロセスを推奨してますよ、普通は>>308みたいにymlとdocker-compose
で構築してくださいね、でもまあ>>277見たいなケースで複数プロセス動かしたい時は>>288みたいな仕組みは用意して
ますから使ってくださいね、このケースの成功例はGitLabがありますよ。
唯>>296の様なリスクも在りますので気をつけてくださいね。
と、たったこれだけの話なのに一流だ二流だDockerfileもyamlも書かずに使ってるだけだから分かってないと、兎に角
相手をDisらなければDocker原理主義者の皆さんの会話でしたw
331:login:Penguin
21/01/16 20:29:43.69 xviAIVIh.net
暇だから適当なこと言ってからかって遊んでるだけだぞ
332:login:Penguin
21/01/16 20:48:18.87 hpTtRYug.net
GitLabは例外でしかないだろ
GitLabのDockerfileみてみろ、めちゃくちゃ大変なことしてるぞ
あれはそこまで頑張ってでも1コンテナにしたほうが
利用者にとっては便利だから、工数かけてやっただけで
作る側にとっては大変だってことの証明になってる
333:login:Penguin
2021/01/16(�
334:y) 21:13:25.79 ID:niX7PYZl.net
335:login:Penguin
21/01/16 21:17:03.29 g9x2r+gF.net
> あのやり方に疑問を抱く者は少なくなかった
それは使う側から見た話だろ?
作る側はどれだけ大変か、Dockerfileを見ればわかる
336:login:Penguin
21/01/16 21:20:07.53 Vaze8PjO.net
オーケストレーション前提じゃオペレーターも大変だ
オペレーターはレゴブロック遊びに付き合うほど暇じゃない
337:login:Penguin
21/01/16 21:25:17.11 wiSCvGlT.net
URLリンク(github.com)
GitLab使うならこっちでよくね?
338:login:Penguin
21/01/16 21:29:15.94 OQ3EdIh9.net
readmeなっが
お手軽な公式版、使うわ
339:login:Penguin
21/01/16 21:31:40.06 g9x2r+gF.net
な?「使うわ」という使う側の立場でしか見てないんだよ
作る側の大変さの話をしてるのにな
340:login:Penguin
21/01/16 21:34:13.07 2WB90esU.net
バカの一つ覚えのように一つのコンテナなら手軽に試せるしか言わねえし
何言っても無駄だろ
341:login:Penguin
21/01/16 21:36:40.06 TWWzREgo.net
>>334
URLリンク(github.com)
342:login:Penguin
21/01/16 21:40:03.44 pzrp2Yop.net
redisとpostgresを何らかの手段で起動し
シークレットの暗号化に使う文字列を3つ作れば良い
たったこれだけ
これ以上簡単になりようがない
それを>>332はできないと言って
先程から大騒ぎしている
343:login:Penguin
21/01/16 21:43:35.78 g9x2r+gF.net
GitLabはウェブサービスも運営してるが
そのGitLabがそのDockerfileを使ってると思うのか?って話だよな
スケールさせるためには、アプリとデータベースを分離させるのは当たり前だし
Dockerを使うっていうのは、そういうウェブサービスも運営するときの
システムを作るために有るのだから、そういうときにどういう構成にしますか?の
話でサービス毎にコンテナを分けるのは当たり前
作る側の視点がかけてる
これはDockerコンテナを動かすだけの
インフラ屋にありがち
344:login:Penguin
21/01/16 21:47:08.37 LbH2M5zo.net
ごった煮イメージが本番運用に堪えないって点に異論は無いらしい
345:login:Penguin
21/01/16 22:02:21.78 jF/4b5o1.net
>>338
めんどくせー
ポスグレでも、Redisでも、シークレットでもねえ
GitLabを、使いてえんだよ
なんだよこの、野球してえのに、サッカーボールでリフティングの練習しろ、みたいな要求は
346:login:Penguin
21/01/16 22:03:34.26 d+XwEvch.net
コンテナひとまとめが効率的おじさんは放置推奨。
347:login:Penguin
21/01/16 22:03:42.74 jF/4b5o1.net
>>339
殆どのユーザーは、有料Gitlabサービス運営なんかせんだろ
オンプレで、テキトーに、運用したいだけ
348:login:Penguin
21/01/16 22:12:43.53 jF/4b5o1.net
なーんか、噛み合わねえんだよな
昼休憩にラーメン食いたいなぁ、って思ったら、まあ、カップ麺が手軽でいいわな
そうじゃなきゃ、チョイと割高だけど、ラーメン屋にでも行くかぁ、ってそういう話をしてんだよ
それなのにお前らは、
麺はどこそこの業者から原材料を仕入れて、手打ちが至高だの
チャーシューは、最高級の肉を使い、じっくりコトコト煮込んだものが、究極だ
スープはどーしろ、野菜はあーしろ
よし、一週間まってくれ
最高のラーメンを、食わせてやりますよ!
とまあ、こんな感じ
おいおい、昼休み、とっくに終わってる、つーの!
349:login:Penguin
21/01/16 22:20:02.74 K7Q8mRub.net
dockerがどこから収益得てるのか考えたら
単なる1ユーザーがdocker使えるわ~とかに
なるわけない
配布と奴隷を効率的に使うためにある
350:login:Penguin
21/01/17 01:00:01.28 N6lWNkjM.net
二択で話をしたって言い争いにしかならねーぞ
351:login:Penguin
21/01/17 05:42:17.89 XuFuvYAj.net
いつも、Docker をsupervisord とか、
仮想マシンみたいに使おうとする香具師が来て、1日で100レス以上進む。
同じ香具師だろ
1つの関心事につき、コンテナは1つ。
Docker Compose は本番では使えない
そもそもポートフォワーディング方式だと、スケールできないし。
既にポート80番を使っていたら、
8080番とか、ポートを変えないといけないから、ユーザーがアクセスできない
Kubernetes みたいに、cgroup, namespace が無いと運用できない
352:login:Penguin
21/01/17 08:17:47.03 /DQZFtWw.net
>>341
> GitLabを、使いてえんだよ
ただのユーザーですか?
ここは開発者のスレです。
使うだけならDockerでもパッケージでもなんでもいいだろが
353:login:Penguin
21/01/17 10:37:06.28 iT7NyvUt.net
本番swarmでdocker compose使うよ
354:login:Penguin
21/01/17 20:30:25.56 bZXSAVtd.net
docker desktopからdocker-compose.ymlで書いたものを使ってコンテナ起動する方法を教えてください
355:login:Penguin
21/01/17 20:42:43.49 fvYQBEb5.net
docker-compose up
356:login:Penguin
21/01/19 20:44:52.35 G8DOf2K2.net
nixでDockerfile書かずにDockerイメージビルドしてみた
イメージは作成出来たが、bashの履歴やタブ補完が使えない
なんか設定したら使えるのか?
bash-completion入れてみたが、効果無かった
Dockerfileと組み合わせて使うか、普通にDockerfile使う方が楽かも
357:login:Penguin
21/01/19 22:55:16.38 4qB/okoY.net
まさかDockerの中でbashの履歴やタブ補完がほしいとか思ってるのか?
デバッグ用は別として、Dockerコンテナの中で作業するものじゃないぞ
>>1をちゃんと読め
358:login:Penguin
21/01/20 01:38:52.84 huiLDeTC.net
>>353
devcontainerも知らんの?
359:login:Penguin
21/01/20 01:45:13.25 eMKfZ4zK.net
アンチパターンの名前がどうかしたのか?
360:login:Penguin
21/01/20 01:53:13.57 huiLDeTC.net
アンチパターン?
361:login:Penguin
21/01/20 06:14:40.34 0DdAhH3S.net
docker原理主義者は・・・まあ馬鹿だから分からんわな。
ウチの職場でもこんなツールあるんだぜと、紹介はあったな。
URLリンク(youtu.be)
362:347
21/01/20 06:40:15.88 SSSAU54j.net
環境依存するものをコンテナに入れていくと、
その環境では便利だけど、可搬性が無くなる
コンテナを別の環境へ持っていくと、環境依存のために動かなくなるので、
別の環境用への環境構築が必要となり、Docker を使う意味が無くなる
>>347
に書いた、
Dockerに、supervisord などを入れて、
仮想マシンみたいに使おうとする香具師と同じ
WSL2, Ubuntu などで直接構築しているのと同じになってしまう。
Dockerを使う意味がない