探検


Docker Part5

■ このスレッドは過去ログ倉庫に格納されています
2020/12/02(水) 19:13:07.36ID:y3Zdr8oB
DockerはLinuxが持つコンテナ技術を使ったアプリケーション仮想化技術です。
アプリケーションを動かすために必要な各種ライブラリ等を一つのDockerイメージに
まとめることで、さまざまな環境へのデプロイが容易になります。
例えばWindowsやmacOSを使って開発・テストしたDockerイメージを
そのままクラウド上のLinuxの本番環境で使うことができます。

クラウド上の環境が仮想マシンであるため、Dockerは仮想マシンと併用して使うことが多いですが
仮想マシン技術とは無関係の技術です。実際Linux環境において仮想マシンは必須ではありません。
WindowsとmacOSでは仮想マシンを使いますが、これはOSがLinuxではないからです。

Dockerは主にアプリケーションを動かすために設計されているのでデータを保存するのには適していません。
データはDockerイメージの外部、ボリュームを使ってホスト環境に保存するかネットワーク通信で外部サーバーに保存します。
またDockerコンテナは一つのサービスを実行し、複数のサービスが必要な場合はdocker-composeやk8sなどを使って連携させます。
Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けています。
それはDockerの設計方針とあっていないからです。

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

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

http://www.docker.io/

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

注意 Dockerを仮想マシンの代替として使いたいと考えてる人は、DockerではなくLXCを使いましょう
LXC(Linux Containers)
https://mao.5ch.net/test/read.cgi/linux/1330826939/
2021/01/09(土) 20:06:58.83ID:pshOY4NZ
>>179
ありがとうございます。それはつまり、

>3. デフォルトの設定ファイルをイメージ内に配置して、使用する側で上書きしてもらう

これでいいってことですかね?
2021/01/09(土) 20:07:54.19ID:73ECCOc1
>>180
それでいいです
2021/01/09(土) 20:09:58.67ID:73ECCOc1
設定ファイルの書き換えをスクリプトで行いたいユーザーのために、エントリーポイントにフックを仕掛けるとより親切
2021/01/09(土) 20:11:45.33ID:pshOY4NZ
なるほど、ありがとうございました!
2021/01/11(月) 02:15:48.57ID:zpurJaCg
rktって開発中止されてたのか。
185login:Penguin
垢版 |
2021/01/11(月) 11:19:34.46ID:ZlDEkoeZ
>>184
気づくの遅くね?
2021/01/11(月) 12:15:18.06ID:89OcdB6i
結局dockerがメジャーなままなのね
2021/01/11(月) 12:36:25.01ID:NoL+Y9f0
podmanとK8S
2021/01/11(月) 12:58:21.16ID:r3JkpTc1
docker楽でいいね
docker-composeをアップすると自動でやってくれるレンタルサーバとかクラウドサーバないでっか?
2021/01/11(月) 13:10:41.31ID:dD9m53n1
Windows、Macはまだdockerが主流なんだっけ?
2021/01/11(月) 13:38:06.53ID:u+O//c17
K8SがデファクトスタンダードだからDCでの運用ノウハウを探すの大変だよ
素直にK8Sを勉強したほううがいい
大変なのは最初だけ
2021/01/11(月) 14:10:04.17ID:5exndTNV
1ノードしかない場合のそのへんの得失ってどうなんだろう。
サーバー1台だとオーバースペックというか無駄に複雑になるだけにも思うけど。
192login:Penguin
垢版 |
2021/01/11(月) 14:31:52.64ID:ZlDEkoeZ
kubernetesは色々運用管理に必要なものが揃ってて便利だが
使わないならオーバーキルな気はする
k3sは知らんが、本家のKubernetesは重過ぎ

使うなら最初はマネージドで
コントローラーに追加費用要らない所も多い

GKEは高可用性無しなら1つだけ無料
AKSやLinodeは無料
DigitalOceanは無料だが日本のデータセンターが無い

EKSは未だに有料
2021/01/11(月) 14:36:35.08ID:+C1ZDq6A
最初はっていうかずっとマネージドでいいと思う
オンプレミスでK8S管理は辛いよ
2021/01/11(月) 14:39:59.24ID:btG2xty8
Kubernetesは起動するだけでメモリ1GBを消費する
つまり最小構成のVMではかろうじて動くが
そのVMを実用的に使うことはできない

最初からそれだけのメモリをKubernetesに
与えてもいいぐらいの規模が前提となってる
195login:Penguin
垢版 |
2021/01/11(月) 14:42:29.11ID:ZlDEkoeZ
k8sはYAMLの記述量が多過ぎなのも嫌われる一因

helmもYAMLとGoTemplateと言うやばい組み合わせのせいで汚い
kustomizeもなんかアレ

tankaとかkapitanならjsonnetで書ける
YAMLをテンプレートでやるより100倍いい

https://github.com/grafana/tanka
https://github.com/deepmind/kapitan
2021/01/11(月) 14:44:38.52ID:ewQPp1QF
k0sってどうなの?
2021/01/11(月) 14:52:17.06ID:NoL+Y9f0
docker-composeが一番だ
k8sよりswarmのほうが完成度が高いのになぜ使わないんだろう?
2021/01/11(月) 14:55:24.87ID:cXgFbbRO
複雑怪奇なYAMLベースのDSLを作らないでほしいね
2021/01/11(月) 15:47:51.70ID:biM4wIYB
*.hcl
わかりやすい
2021/01/11(月) 16:13:41.30ID:ECUSqoWw
.hcl自体はわかりやすくても
それをもとに作られたDSLがなぁ
2021/01/11(月) 16:38:58.12ID:5exndTNV
ところで質問。
docker-compose のサービスをいきなり docker run 相当で起動するんじゃなくて
docker create -> docker cp -> docker start みたいなことってできないのかな?
あるいは swarm や k8s だとどうだろう。
2021/01/11(月) 16:40:52.22ID:89OcdB6i
なるほど。ただ、podmanであってもdockerfileの置き換えには至ってない雰囲気。

軽くしようとすると途端に難易度が高くなるツールだ
2021/01/11(月) 17:42:10.87ID:89OcdB6i
Buildahというのがあるようだ。
どの程度の性能か謎ではあるが……。
204login:Penguin
垢版 |
2021/01/12(火) 08:35:36.58ID:KVG+KHkJ
>>201
docker-composeなら
ファイルはボリュームでマウントすれば良いし
イメージがshとかbashでのcommand実行に対応してれば何らかの初期化処理も可能だ
scratchイメージでsh入ってなかったら無理だが
205login:Penguin
垢版 |
2021/01/12(火) 21:10:42.90ID:KVG+KHkJ
Docker BuildKit: faster builds, new features, and now it’s stable
https://pythonspeed.com/articles/docker-buildkit/
2021/01/12(火) 21:11:26.23ID:M4v6YD34
直接そういうことができる機能は無いから別の手を考えないとならないということね。ありがとう。
2021/01/13(水) 15:47:51.27
docker-composeで独自モジュールをpipでいストールしたけど
その独自モジュールのソースを微妙に変更して、docker-composeやり直しても更新してくれない。。
docker-compose down --rmi all --volumes --remove-orphans
してもコンテナもイメージも残ったままなのがたぶん原因なんだろうけど・・
手動でポチポチ消すしかないのかなぁ
2021/01/13(水) 16:01:06.97ID:bWUxShca
docker-compose build --no-cache
2021/01/13(水) 16:17:00.23
>>208
ちょっとだけ構築速度おそくなったけどできた!�dクス!
2021/01/13(水) 17:51:21.77ID:rA2yTqxj
no cacheオプションだから遅くなるのは当然でしょ
2021/01/13(水) 19:38:49.48
メモ
docker image prune
で消えねえと思ったら-aオプションいるのね・・
docker image prune -a
消したくないやつは稼働させたままやったら
稼働してないやつだけ消えてめちゃくちゃ捗った
(稼働中のやつには無影響なのかはわからないけど)
2021/01/13(水) 19:46:33.52
できれば、pipでインストールする自作ライブラリの訂正部分だけ更新できるようにしたいけど
--no-cacheするかイメージもコンテナも全部消してから再ビルドしないと適用してくれない・・

非公開gitからクローン → python setup.py sdist → pip install ○○
みたいにDockerファイルのRUNでやってるのがだめなのかな
2021/01/13(水) 20:07:09.42ID:PWUDNnFH
>>212
自作ライブラリをインストールした以降のイメージだけを削除したら。
2021/01/13(水) 20:07:20.37ID:bWUxShca
ARGでタグかブランチを指定するんですよ
2021/01/13(水) 20:18:05.93
>>213
>>214
なるほやってみる�d
2021/01/14(木) 23:12:11.80ID:Pm6qmODH
>>1
>Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けて

具体的に言うと?
217login:Penguin
垢版 |
2021/01/15(金) 08:17:15.80ID:qYm5MEeF
hypervisord最強おじさんktkr
2021/01/15(金) 08:27:02.67ID:IT9cRebK
super...
2021/01/15(金) 08:28:31.76ID:TKANrLkr
>>216
困難は特にないよ
220login:Penguin
垢版 |
2021/01/15(金) 08:30:31.77ID:KcZzwMNW
具体性0
2021/01/15(金) 08:32:09.93ID:42ZtZd/z
面倒なだけで問題はないよね。
面倒という指標だとk8sは更に最初が面倒なわけで
2021/01/15(金) 08:37:37.33ID:TKANrLkr
dockerわかってないのにわかった風のおじさんが、僕には困難です、と書いただけだから気にせんでええ
次スレまでいったら、テンプレから削除していいよ
223login:Penguin
垢版 |
2021/01/15(金) 08:41:58.25ID:0MH2boun
説明になってない
2021/01/15(金) 08:55:51.38ID:ouI6ZQHD
>>216
複数のサービスを起動する場合、systemdが一般に使われるが
systemdを使うのは大変

https://stackoverflow.com/questions/51979553/is-it-recommended-to-run-systemd-inside-docker-container

可能な限り、コンテナ内のsystemdは避けることをお勧めします。

Systemdは、ファイルシステムをマウントし、いくつかのカーネルパラメータを制御し、
プロセス出力をキャプチャするための独自の内部システムを持ち、システムスワップスペースを構成し、
巨大なページとPOSIXメッセージキューを構成し、プロセス間メッセージバスを開始し、
端末ごとのログインプロンプトを開始し、システムサービスのスワス。
これらの多くは、Dockerがあなたのために行うことです。
その他は、Dockerがデフォルトで防止するシステムレベルのコントロールです(正当な理由があります)。

通常、コンテナに1つのことを実行させたい場合があります。これには、複数の調整プロセスが必要になる場合がありますが、
通常、systemdがプロセスマネージャーを提供する以外のことを実行したくない場合があります。
systemdは非常に多くのホストレベルのパラメーターを変更するため--privileged、
Dockerの分離を破るような実行が必要になることがよくありますが、これは通常は悪い考えです。

質問で言うように、通常、コンテナーごとに1つの「ピース」を実行するのが最適と見なされます。
これができない場合は、DockerとUnixの両方の哲学において、
initプロセスに必要な最小限の処理を実行するsupervisordのような軽量プロセスマネージャーの方が適しています。
2021/01/15(金) 09:02:40.75ID:ouI6ZQHD
>>216
これとか読むといいかも。公式がVMじゃないと言ってる。

Containers are not VMs
https://www.docker.com/blog/containers-are-not-vms/

> しかし、これを言っても、VMに関する現在の考えやプロセスを適応させ、
> コンテナーに適用しようとしています。
>
> 「コンテナをバックアップするにはどうすればよいですか?」
> 「実行中のコンテナのパッチ管理戦略は何ですか?」
> 「アプリケーションサーバーはどこで実行されますか?」
>
> 私にとって、Dockerは仮想化テクノロジーではなく、アプリケーション配信テクノロジーで
> あることに気付いたとき、電球の瞬間が訪れました。


これとかも

So, You’re Saying Docker Isn’t A Virtual Machine???
https://derickbailey.com/2016/08/29/so-youre-saying-docker-isnt-a-virtual-machine/

A Docker container is not a virtual machine.
A Docker container is application virtualization.
2021/01/15(金) 09:06:01.49ID:ouI6ZQHD
複数のサービスを実行することは可能だが、推奨しないと書いてある。
そしてこの記事に書いてある複数のサービスを実行する方法を見ればわかるように
仮想マシンのように気軽にはできずコードを書く必要がある

Run multiple services in a container
https://docs.docker.com/config/containers/multi-service_container/

コンテナの主な実行プロセスは、ENTRYPOINTおよび/またはCMDの最後ですDockerfile。
一般に、コンテナごとに1つのサービスを使用して、関心のある領域を分離することをお勧めします。
そのサービスは複数のプロセスに分岐する可能性があります(たとえば、Apache Webサーバーが
複数のワーカープロセスを開始します)。複数のプロセスがあっても問題ありませんが、
Dockerを最大限に活用するには、1つのコンテナーがアプリケーション全体の複数の
側面を担当することを避けてください。ユーザー定義のネットワークと共有ボリュームを使用して、
複数のコンテナーを接続できます。
2021/01/15(金) 09:06:22.47ID:42ZtZd/z
そもそもコンテナを仮想マシンの代替として使うケースはほぼないだろ。

1に書くような話ではないな
2021/01/15(金) 09:09:09.98ID:ouI6ZQHD
> 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 を使うよりも
自分でコンテナのメインプロセスを作ったほうがいい
2021/01/15(金) 09:27:49.50ID:IT9cRebK
たとえばnginxとphp-fpmを別コンテナにする気もないから自作シェルエントリポイントにしてる
俺はやらないがsupervisordで制御してもいいだろう

systemdまで入れるならlxcかkvmにするけど
2021/01/15(金) 09:41:57.89ID:ouI6ZQHD
つまりは仮想マシンであれば標準でsystemdなどが起動してるから
サービスを起動させるにはパッケージインストールして
ちょっと設定ファイルを書き換える程度の簡単な作業だが

Dockerでやる場合、systemdなどを使わずに
自分でスクリプト書いて起動と停止を制御しなきゃいかんのよ(Docker推奨の方法)

頑張ればsystemdを動かすことも出来るが、そのために --privileged オプションが
必要になるかもしれないし、その他の調整が必要になるかもしれない
何が必要かは起動するサービスによって違うので試行錯誤が必要になる
だからDockerはsystemdを使わずに自作スクリプトで制御することを推奨してる

systemdを使うぐらいならより軽量のsupervisordを使うほうがいい
もちろんパッケージインストールして終わりではなく
自分で設定ファイルを書く必要がある
2021/01/15(金) 11:19:21.19ID:TKANrLkr
😫マルチプロセスコンテナ否定派
・1つのサービスのために多数のコンテナイメージをリリース
・イメージ使用者に面倒くさいymlを書かせる

🤗マルチプロセスコンテナ肯定派
・1つのサービスのために1つのコンテナイメージをリリース
・Supervisor等の設定を開発側が書いて出荷するのでイメージ使用者はdocker runするだけ
2021/01/15(金) 11:30:48.83ID:S7oMpLHl
じゃあちゃんと責任持って管理してね🤗
233login:Penguin
垢版 |
2021/01/15(金) 11:40:55.50ID:u8cDb4A3
仮想マシンみたいなことしたかったらLXCでよくね?
しらんけど
234login:Penguin
垢版 |
2021/01/15(金) 11:42:10.14ID:dw4hxnTe
・イメージ使用者に面倒くさいymlを書かせる
別に良くね?
2021/01/15(金) 11:43:48.41ID:TKANrLkr
>>233
仮想マシンみたいなことがしたいならシステムコンテナでいいと思うよ
単にマルチプロセスってだけならアプリケーションコンテナのほうがいい
2021/01/15(金) 11:46:03.25ID:IT9cRebK
「プロセス」「サービス」を意図的に混同して相手を貶める
2021/01/15(金) 11:47:25.35ID:TKANrLkr
>>234
良くない
負担を減らせるなら減らしたほうがいい
ホスピタリティの精神だよ
セルフサービスで全部やってねなんてのは二流だ

もちろん分散型のイメージを提供するなと言ってるわけじゃない
分散型をオプションとしてサポートするのも良い事だ
238login:Penguin
垢版 |
2021/01/15(金) 11:50:16.05ID:dw4hxnTe
マルチプロセス派は配布して終わり!じゃなくてその後の運用まで考えてるのか?
2021/01/15(金) 11:52:42.16ID:TKANrLkr
>>238
運用もシングルコンテナのほうが簡単でしょ
240login:Penguin
垢版 |
2021/01/15(金) 12:03:39.22ID:dw4hxnTe
>>239
なんで?
2021/01/15(金) 12:06:00.89ID:TKANrLkr
>>240
1つの物管理するのと多数の物を管理するのじゃ前者のほうがかんたんだ
常識的に考えればいい
242login:Penguin
垢版 |
2021/01/15(金) 12:23:08.21ID:dw4hxnTe
複数サービスのログ管理はどうする?
まさかファイル出力にしてlogrotatedとかも突っ込むの?
それかコンテナ自体のログを複数のサービスからのログが流れてる状態にするの?

ログ管理のSaaSへログの集約がしたくなったらどうする?
エージェントもコンテナに突っ込むのか?

複数コンテナで
ログは全部コンテナのログにしておけば
dockerのログだけローテーションすれば済むじゃん
ロギングドライバ変えたり
ログ転送のエージェントは別コンテナにしたりできる
2021/01/15(金) 12:38:44.17ID:uuEHso6B
個別に更新するのだから、バラバラの方が管理しやすい。負荷分散も容易。

一箇所にまとめるのは滅多に変えない時だけね。
2021/01/15(金) 12:39:04.30ID:IT9cRebK
そんなもんそれぞれのプロセスがstderrに流すだけ
あとはホスト側でどうにでも
2021/01/15(金) 12:41:17.01ID:uuEHso6B
纏めた方が楽という人は、k8sのメリット関連の文献を読んだほうが良い。基本的に個人でも同じ。
依存関係が原因のレガシー化を防ぐには、細かく分けて疎結合というのがマイクロサービスの基本。
246login:Penguin
垢版 |
2021/01/15(金) 12:45:13.28ID:dw4hxnTe
supervisord管理下のプロセスの死活監視やリソース使用の監視はどうするんだ?
同じイメージに監視ツールのエージェント突っ込むのか?
もうめちゃめちゃ複雑だし、イメージに汎用性がない
複数アプリがあったら全部これやれってアプデも対応しろって言うの?面倒過ぎ

普通にマルチコンテナで動いてたら
Dockerコンテナが動いてるかどうかや、コンテナのCPU、メモリ使用量などの監視で済む
監視ツール変えたくなってもアプリのイメージをいじる必要がない

アプリ固有のメトリクスを記録監視するならアプリイメージに対応必要だが、
これらの基本的なメトリクスを取りたいだけなら対応不要
247login:Penguin
垢版 |
2021/01/15(金) 12:53:47.70ID:dw4hxnTe
>>244
ホスト側!?
結局分けるんじゃん

じゃあsupervisordもやめたら良くね?
2021/01/15(金) 12:57:26.12ID:TKANrLkr
>>242
コンテナのログとして出せばいいだけ
2021/01/15(金) 12:57:59.15ID:TKANrLkr
>>243
実は他者製のクラスタを個別に更新することは少ない
2021/01/15(金) 13:00:28.33ID:TKANrLkr
>>245
k8sは大規模すぎるので導入障壁が大きい
1コンテナシステムは小規模から手軽に開始できる
2021/01/15(金) 13:01:39.19ID:TKANrLkr
>>245
なんでもかんでもバラす必要性はない
Spotifyの事例にもあるようにミクロサービスからモジュラーモノリスに回帰した大規模サービスもある
2021/01/15(金) 13:03:22.31ID:TKANrLkr
>>246
昔からやってる事をやるだけ
開発側にばノウハウが大量にあるのでなにも苦にならない
重要なことは利用者側が楽になること
2021/01/15(金) 13:05:01.57ID:uuEHso6B
弊社の勤怠管理システムはIE限定です!

一箇所にまとめるとこうになる。

まあ、慣れてるからそれが良いという人はご自由にどうぞかな
254login:Penguin
垢版 |
2021/01/15(金) 13:05:35.87ID:dw4hxnTe
>>252
>開発側にばノウハウが大量にあるのでなにも苦にならない
よくわかんない
2021/01/15(金) 13:05:44.73ID:TKANrLkr
>>253
意味不明な論点ずらし乙
2021/01/15(金) 13:06:09.65ID:TKANrLkr
>>254
わかる
2021/01/15(金) 13:06:47.32ID:TKANrLkr
仕事に戻るからまた後でな
258login:Penguin
垢版 |
2021/01/15(金) 13:16:57.33ID:dw4hxnTe
>>251
Spotifyにsupervisord最強おじさんはいない
2021/01/15(金) 13:19:56.79ID:IT9cRebK
>>247
supervisord使うなんて一言も言ってないけど
コンテナ別にログ分けるのはホスト側のrsyslogdで十分
2021/01/15(金) 13:27:24.22ID:uuEHso6B
>>255
まとめるとレガシー化しやすいってこと。
261login:Penguin
垢版 |
2021/01/15(金) 13:38:59.66ID:dw4hxnTe
1コンテナマルチプロセスにしろってsupervisordにしろってことだろ
そんな事やったらサービス単位で更新できないし、
supervisordの面倒見るのもいやだな

Docker自体がある意味supervisordみたいな物だから
supervisord in supervisordするって事じゃん?
2021/01/15(金) 14:24:59.58ID:IT9cRebK
「プロセス」「サービス」を意図的に混同して話をややこしくする

nginxとphp-fpmを別コンテナにするメリットがあるのかね
2021/01/15(金) 16:05:59.73ID:cz1NjHRF
>>251
Shopifyじゃなくて?
2021/01/15(金) 16:09:00.97ID:6mixkv7d
>>262
まあマルチプロセスなベースイメージをそうと知らないまま使っている阿呆も中にはいるだろうね
2021/01/15(金) 16:11:53.56ID:NRANT14o
バカには疎結合なんか、分からんから、ほっとけほっとけって
2021/01/15(金) 16:25:32.08ID:TKANrLkr
>>261
オーケストレーションの手間暇を利用者側に押し付けるか、開発側でやってあげるかの違い
小規模のスタートアップなら全部開発側に丸投げしてdocker runするだけのほうがかんたんだ
2021/01/15(金) 16:28:50.03ID:TKANrLkr
>>265
疎結合と一言で言っても色々ある

ミクロサービスは疎結合の代表だが
別にミクロサービスじゃなきゃ疎結合できないわけじゃない

さっきも言ったように
サービスとしてはモノリスでもコードレベルで高度にモジュール化することで疎結合を達成するモジュラーモノリスのような考え方もある

コンテナは1つでも内部のサービスが疎結合ならなんの問題もないのだ
2021/01/15(金) 16:29:53.28ID:TKANrLkr
>>263
そうだっけ?正確にはググって
2021/01/15(金) 16:35:15.87ID:TKANrLkr
で、この1コンテナ、マルチプロセス(サービス)で成功してる代表的なコンテナがGitLabね
薄っぺらい表面的な知識しかない連中と違って、流石にGitLabのエンジニア達は深く理解してる
杓子定規にコンテナを分ける必要はない、背景が不明な不特定多数に配布するなら、むしろバンドルしたほうがいい、と理解してる
2021/01/15(金) 16:40:51.49ID:6mixkv7d
GitLabはセルフホスティング対応が大前提だからそうなってるんだよ
シングルインスタンスなSaaSとは別次元の話
2021/01/15(金) 16:59:15.47ID:TKANrLkr
つまり利用者側からは1コンテナのほうがいいってことだ
2021/01/15(金) 17:41:15.88ID:TKANrLkr
基本は1コンテナなんだよ
ちゃんと利用者のことを考えてるならな
で厳しい要件満たすために、分散管理したい連中のために、いちおうバラ売りコンテナも用意しとく
それがベストプラクティス
さいしょっから分散管理のみサポートします、なあんて、怠惰もいいとこだ
273login:Penguin
垢版 |
2021/01/15(金) 18:55:24.75ID:dw4hxnTe
それはご苦労なこった
俺は怠惰だからメインのコンテナ以外はありあわせのイメージ使うぜ
2021/01/15(金) 19:21:01.23ID:F2PkWUyM
自社以外に誰も求めてないマイナーサービスは最初からバラ売りでもいい
2021/01/16(土) 12:37:44.49ID:iVfNA5oL
複数のサービスを一つのコンテナにまとめたほうがいいって言ってるやつは

複数のサービスが一つのコンテナになってるから
"使うのが楽"って言ってるんだよ。
作るのが大変の否定になってない

>>1は作るのが大変と言っている

> Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けています。


Dockerを使ってると言いつつ、自分でDockerfileもyamlも書かずに
ただ誰かが作ったものを使うだけのやつは、Dockerを使ってるとは言えない
んで、使ってるだけのやつが、使うのが楽と言ってる

複数のサービスを一つのコンテナに入れるのがどれだけ大変かわかってない
だって自分で作ってないんだもの
2021/01/16(土) 12:50:03.28ID:TRxochm9
いやいや、作るのもめちゃくちゃ簡単だぞ?
Supervisorとか使うだけ
Dockerfileも既存のchefなんかが、殆どそのまま使える
2021/01/16(土) 13:00:59.25ID:TRxochm9
コンテナを分けないことで、お互いのサービスの提供するコマンドラインツールを使いやすくなるのも、便利だな

ある古いサービスAの、管理者用のコマンドラインがあるんだが、、、
これはサービスAをインストールしたマシンで、ローカル実行する必要があった
もちろん、RPCなどという気の利いたものは、ない
開発者からすると、SSHがあればいいでしょ?みたいな気持ちだったんだろうな

そして、サービスBからこのコマンドラインを実行したい、と、なったわけだ

もし、サービスAとサービスBのコンテナを、分けてしまったら
サービスBから、このコマンドラインを実行するのは、普通の方法では、不可能だ
docker.sockをマウントして、サービスBコンテナからdocker execするか、、、
サービスAを拡張してRPAを追加しなきゃならない
あるいは、サービスAを、マルチサービス、にして、SSHを追加するか、、、

1コンテナだったら簡単なのに!
2021/01/16(土) 13:05:52.72ID:d+XwEvch
オンプレの延長だな
279login:Penguin
垢版 |
2021/01/16(土) 13:07:11.86ID:5ICFXjQI
データベースは既存のサーバーが使えたほうが便利と思うけど
AWSのRDSとか使わせろ
2021/01/16(土) 13:09:50.55ID:iVfNA5oL
>>276
> いやいや、作るのもめちゃくちゃ簡単だぞ?
> Supervisorとか使うだけ

使うだけじゃなくて設定ファイルとか書かないと駄目だろ
ログをどうするかとかさ、永続的なファイルをどうするかとかさ
■ このスレッドは過去ログ倉庫に格納されています

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