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/
Docker Part5
■ このスレッドは過去ログ倉庫に格納されています
2020/12/02(水) 19:13:07.36ID:y3Zdr8oB
2021/01/15(金) 16:05:59.73ID:cz1NjHRF
>>251
Shopifyじゃなくて?
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
2021/01/15(金) 16:28:50.03ID:TKANrLkr
>>265
疎結合と一言で言っても色々ある
ミクロサービスは疎結合の代表だが
別にミクロサービスじゃなきゃ疎結合できないわけじゃない
さっきも言ったように
サービスとしてはモノリスでもコードレベルで高度にモジュール化することで疎結合を達成するモジュラーモノリスのような考え方もある
コンテナは1つでも内部のサービスが疎結合ならなんの問題もないのだ
疎結合と一言で言っても色々ある
ミクロサービスは疎結合の代表だが
別にミクロサービスじゃなきゃ疎結合できないわけじゃない
さっきも言ったように
サービスとしてはモノリスでもコードレベルで高度にモジュール化することで疎結合を達成するモジュラーモノリスのような考え方もある
コンテナは1つでも内部のサービスが疎結合ならなんの問題もないのだ
2021/01/15(金) 16:29:53.28ID:TKANrLkr
>>263
そうだっけ?正確にはググって
そうだっけ?正確にはググって
2021/01/15(金) 16:35:15.87ID:TKANrLkr
で、この1コンテナ、マルチプロセス(サービス)で成功してる代表的なコンテナがGitLabね
薄っぺらい表面的な知識しかない連中と違って、流石にGitLabのエンジニア達は深く理解してる
杓子定規にコンテナを分ける必要はない、背景が不明な不特定多数に配布するなら、むしろバンドルしたほうがいい、と理解してる
薄っぺらい表面的な知識しかない連中と違って、流石にGitLabのエンジニア達は深く理解してる
杓子定規にコンテナを分ける必要はない、背景が不明な不特定多数に配布するなら、むしろバンドルしたほうがいい、と理解してる
2021/01/15(金) 16:40:51.49ID:6mixkv7d
GitLabはセルフホスティング対応が大前提だからそうなってるんだよ
シングルインスタンスなSaaSとは別次元の話
シングルインスタンスな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を使ってるとは言えない
んで、使ってるだけのやつが、使うのが楽と言ってる
複数のサービスを一つのコンテナに入れるのがどれだけ大変かわかってない
だって自分で作ってないんだもの
複数のサービスが一つのコンテナになってるから
"使うのが楽"って言ってるんだよ。
作るのが大変の否定になってない
>>1は作るのが大変と言っている
> Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けています。
Dockerを使ってると言いつつ、自分でDockerfileもyamlも書かずに
ただ誰かが作ったものを使うだけのやつは、Dockerを使ってるとは言えない
んで、使ってるだけのやつが、使うのが楽と言ってる
複数のサービスを一つのコンテナに入れるのがどれだけ大変かわかってない
だって自分で作ってないんだもの
2021/01/16(土) 12:50:03.28ID:TRxochm9
いやいや、作るのもめちゃくちゃ簡単だぞ?
Supervisorとか使うだけ
Dockerfileも既存のchefなんかが、殆どそのまま使える
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コンテナだったら簡単なのに!
ある古いサービス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とか使わせろ
AWSのRDSとか使わせろ
2021/01/16(土) 13:09:50.55ID:iVfNA5oL
>>276
> いやいや、作るのもめちゃくちゃ簡単だぞ?
> Supervisorとか使うだけ
使うだけじゃなくて設定ファイルとか書かないと駄目だろ
ログをどうするかとかさ、永続的なファイルをどうするかとかさ
> いやいや、作るのもめちゃくちゃ簡単だぞ?
> Supervisorとか使うだけ
使うだけじゃなくて設定ファイルとか書かないと駄目だろ
ログをどうするかとかさ、永続的なファイルをどうするかとかさ
2021/01/16(土) 13:10:27.15ID:iVfNA5oL
> Dockerfileも既存のchefなんかが、殆どそのまま使える
chefを使うってアホじゃないか
Docker使う意味がなくなってる
chefを使うってアホじゃないか
Docker使う意味がなくなってる
2021/01/16(土) 13:10:30.88ID:TRxochm9
このように、1サービス1コンテナの精神で細かく分離すると
サービス同士が疎結合になり、一見すると良いように思える
しかし、疎結合である、ということは、サービス間の連携のオーバーヘッドが増える、ということだ
サービスはRPCを実装しなければならず、開発者は疲弊する
サービスメッシュの管理コストは増大し、運用者は疲弊する
これはミクロサービスの功罪と同じことだが、なんでもかんでも、小さく分けて、疎にするのが、常に正解なわけじゃない
全てはトレードオフなのだ!
たしか、マーティンファウラーだったと思うが
彼曰く、最初からミクロサービス的な思想に傾倒した案件は、失敗することが多い、らしい
最初はモノリスのほうが、うまく行くのだ
システムが、モノリスでは到底手に負えないほど、巨大化してから初めて、分割することを考えれば、よろしい
サービス同士が疎結合になり、一見すると良いように思える
しかし、疎結合である、ということは、サービス間の連携のオーバーヘッドが増える、ということだ
サービスはRPCを実装しなければならず、開発者は疲弊する
サービスメッシュの管理コストは増大し、運用者は疲弊する
これはミクロサービスの功罪と同じことだが、なんでもかんでも、小さく分けて、疎にするのが、常に正解なわけじゃない
全てはトレードオフなのだ!
たしか、マーティンファウラーだったと思うが
彼曰く、最初からミクロサービス的な思想に傾倒した案件は、失敗することが多い、らしい
最初はモノリスのほうが、うまく行くのだ
システムが、モノリスでは到底手に負えないほど、巨大化してから初めて、分割することを考えれば、よろしい
2021/01/16(土) 13:11:04.23ID:TRxochm9
>>280
そんなことも出来ないの?
そんなことも出来ないの?
2021/01/16(土) 13:12:08.94ID:iVfNA5oL
>>277
それ、仮想マシン使えって話なんだ
それ、仮想マシン使えって話なんだ
2021/01/16(土) 13:12:36.46ID:iVfNA5oL
2021/01/16(土) 13:12:54.17ID:TRxochm9
2021/01/16(土) 13:13:24.74ID:TRxochm9
>>285
大変じゃないけど?
大変じゃないけど?
2021/01/16(土) 13:15:45.87ID:iVfNA5oL
2021/01/16(土) 13:16:07.78ID:iVfNA5oL
>>287
apt-getでインストールするだけ vs 設定ファイルを自分で書く
apt-getでインストールするだけ vs 設定ファイルを自分で書く
2021/01/16(土) 13:16:30.37ID:iVfNA5oL
2021/01/16(土) 13:18:13.82ID:7o928iA8
>>284
仮想マシンは重いからやだ
仮想マシンは重いからやだ
2021/01/16(土) 13:18:42.21ID:7o928iA8
>>289
どっちも大変じゃないけど?
どっちも大変じゃないけど?
293login:Penguin
2021/01/16(土) 13:19:01.25ID:5ICFXjQI supervisordの方が面倒くさい
docker-composeの方が楽
docker-composeの方が楽
2021/01/16(土) 13:19:35.25ID:7o928iA8
2021/01/16(土) 13:20:33.01ID:7o928iA8
>>293
そりゃ、手間を利用者側に、オシツケテル、からでしょ
そりゃ、手間を利用者側に、オシツケテル、からでしょ
296login:Penguin
2021/01/16(土) 13:25:53.65ID:5ICFXjQI docker-compose psしたらsupervisordが生きてたらupと表示されるが
設定にミスがあった場合や問題が起きた場合もsupervisordさえ生きてたらupと出る
判定するにはログやsupervisordのあるコンテナ内でコマンド実行が必要
どこが優しいねん
設定にミスがあった場合や問題が起きた場合もsupervisordさえ生きてたらupと出る
判定するにはログやsupervisordのあるコンテナ内でコマンド実行が必要
どこが優しいねん
297login:Penguin
2021/01/16(土) 13:32:34.07ID:5ICFXjQI >>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.
https://docs.docker.com/config/containers/multi-service_container/
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.
https://docs.docker.com/config/containers/multi-service_container/
2021/01/16(土) 13:33:38.70ID:7o928iA8
299login:Penguin
2021/01/16(土) 13:33:54.29ID:5ICFXjQI avoid one container being responsible for multiple aspects of your overall application.
avoid one container being responsible for multiple aspects of your overall application.
avoid one container being responsible for multiple aspects of your overall application.
300login:Penguin
2021/01/16(土) 13:34:41.89ID:5ICFXjQI >>298
開発や運用でトラブルが一切無いと考える方が頭おかしい
開発や運用でトラブルが一切無いと考える方が頭おかしい
301login:Penguin
2021/01/16(土) 13:36:10.72ID:5ICFXjQI dockerやdocker-composeだけでsupervisordのやってる事と同じ事が出来る
余計なコンポーネントを増やすな
余計なコンポーネントを増やすな
2021/01/16(土) 13:39:18.26ID:7o928iA8
>>300
なら1コンテナ1プロセスでも間違いは起こるなー
なら1コンテナ1プロセスでも間違いは起こるなー
2021/01/16(土) 13:39:56.86ID:7o928iA8
304login:Penguin
2021/01/16(土) 13:42:03.31ID:5ICFXjQI >>303
supervisordあったらdocker要らなくね?
supervisordあったらdocker要らなくね?
305login:Penguin
2021/01/16(土) 13:47:58.61ID:5ICFXjQI 既存のデータベース使うとかは考えないの?
データベースの入ってないDockerイメージと
入ってるイメージ2種類作るのか?
それか起動時のスクリプトにフラグ追加?
だったら最初から分けとけよ
めんどくさい
データベースの入ってないDockerイメージと
入ってるイメージ2種類作るのか?
それか起動時のスクリプトにフラグ追加?
だったら最初から分けとけよ
めんどくさい
2021/01/16(土) 14:03:15.18ID:Q9Gxtc5G
2021/01/16(土) 14:05:12.85ID:Q9Gxtc5G
>>305
お前さー、少しはレス読みなよ
分散用に、分けたコンテナをオプションで配布する、ことまではヒテイしとらんだろ
言うなれば、マルチサービスコンテナファーストだよ
シングルサービスコンテナはオプションだ
お前さー、少しはレス読みなよ
分散用に、分けたコンテナをオプションで配布する、ことまではヒテイしとらんだろ
言うなれば、マルチサービスコンテナファーストだよ
シングルサービスコンテナはオプションだ
308login:Penguin
2021/01/16(土) 14:05:40.84ID:kbdLhinp309login:Penguin
2021/01/16(土) 14:07:23.52ID:kbdLhinp2021/01/16(土) 14:08:38.07ID:Q9Gxtc5G
>>305
それとな、内部DBと外部DBを選択できるコンテナは、わりとよくある
スタンドアロンだとsqlite、そうじゃないとpostgres、mysqlのどっちか
てなわけよ
スタンドアロンファースト
(・∀・)イイネ!!
それとな、内部DBと外部DBを選択できるコンテナは、わりとよくある
スタンドアロンだとsqlite、そうじゃないとpostgres、mysqlのどっちか
てなわけよ
スタンドアロンファースト
(・∀・)イイネ!!
2021/01/16(土) 14:12:15.37ID:Q9Gxtc5G
>>309
小ささにこだわって、オーケストレーションマニフェスト書かせたり、運用の手間を増やすな
カリッカリにチューニングしたい、オタク共に合わせるのは、大半のユーザーにとっては面倒でしかないんだよ
多少、重くていいから、お手軽に使わせろ、ってーの
小ささにこだわって、オーケストレーションマニフェスト書かせたり、運用の手間を増やすな
カリッカリにチューニングしたい、オタク共に合わせるのは、大半のユーザーにとっては面倒でしかないんだよ
多少、重くていいから、お手軽に使わせろ、ってーの
312login:Penguin
2021/01/16(土) 14:24:51.12ID:kbdLhinp >>310
sqliteはプロセス要らないからいいが
mysqlやpostgresqlを突っ込めというのはキ○ガイの所業
複数DB対応するには普通は対応コストがかかる
DBラッパー使っても特定DBにしか対応してない拡張は使えないし
docker-composeで書いても大した記述量でもあるまいに
意図的に無視してるな
sqliteはプロセス要らないからいいが
mysqlやpostgresqlを突っ込めというのはキ○ガイの所業
複数DB対応するには普通は対応コストがかかる
DBラッパー使っても特定DBにしか対応してない拡張は使えないし
docker-composeで書いても大した記述量でもあるまいに
意図的に無視してるな
313login:Penguin
2021/01/16(土) 14:28:59.91ID:kbdLhinp2021/01/16(土) 14:32:15.75ID:Q9Gxtc5G
315login:Penguin
2021/01/16(土) 14:34:53.03ID:kbdLhinp 手軽に試すなら普通はdocker-compose使うから
そんな特殊なやり方で対応する必要がない。
k8sやらnomadに手軽さは求めてないし。
k8sでやるんだったらhelmチャートあると便利。
そんな特殊なやり方で対応する必要がない。
k8sやらnomadに手軽さは求めてないし。
k8sでやるんだったらhelmチャートあると便利。
2021/01/16(土) 14:37:33.02ID:Q9Gxtc5G
マルチコンテナだとこうやって、実行環境に会わせて、オーケストレーションマニフェストをたくさん書かなきゃならん
一方でシングルコンテナなら、docker runするだけ
超簡単で、みんなハッピー
しかも、podmanでも、同じように動く
一方でシングルコンテナなら、docker runするだけ
超簡単で、みんなハッピー
しかも、podmanでも、同じように動く
317login:Penguin
2021/01/16(土) 14:39:41.23ID:kbdLhinp そんな手軽さ別に求めてないし。馬鹿なの?
docker-compose用意してたら大体想定されている使い方分かるから、
自分でYAMLなり何なり書けば良いだけ
docker-compose用意してたら大体想定されている使い方分かるから、
自分でYAMLなり何なり書けば良いだけ
2021/01/16(土) 14:50:08.02ID:Q9Gxtc5G
>>317
ユーザーに、手間をかけさせちゃ、だめだ
GitLabはこれをよくわかってる、から、1コンテナに詰め込んだ
ユーザーはdocker runするだけで、GitLabを使えるようになった
これが、マルチコンテナだったら、まあ、大変だよ
ユーザーに、手間をかけさせちゃ、だめだ
GitLabはこれをよくわかってる、から、1コンテナに詰め込んだ
ユーザーはdocker runするだけで、GitLabを使えるようになった
これが、マルチコンテナだったら、まあ、大変だよ
2021/01/16(土) 15:03:01.91ID:Q9Gxtc5G
自作PCとスマホ、みたいなもんかなー
マルチコンテナ≒自作PC
このパーツ、あのパーツ、色々集めて、ミスしないようにくみたてて、ドライバとかも探して、入れて下さい
ツールは別売りなんで、それも自分で探して、入れてください
組み合せが悪いと、動かないかもしれません
でも、まあ、自己責任です
スマホ≒シングルコンテナ
スマホを購入して、箱から出して、電源を入れて下さい
WIFIとアカウントの入力だけ、お願いします
驚きましたか?そうです、もう使えます!
必要になりそうなアプリケーションも、予め揃えてあります
おめでとうございます!
マルチコンテナ≒自作PC
このパーツ、あのパーツ、色々集めて、ミスしないようにくみたてて、ドライバとかも探して、入れて下さい
ツールは別売りなんで、それも自分で探して、入れてください
組み合せが悪いと、動かないかもしれません
でも、まあ、自己責任です
スマホ≒シングルコンテナ
スマホを購入して、箱から出して、電源を入れて下さい
WIFIとアカウントの入力だけ、お願いします
驚きましたか?そうです、もう使えます!
必要になりそうなアプリケーションも、予め揃えてあります
おめでとうございます!
320login:Penguin
2021/01/16(土) 15:03:11.70ID:kbdLhinp321login:Penguin
2021/01/16(土) 15:05:02.96ID:kbdLhinp なんでそんなちょっと試して見るだけのくそでかイメージが
あらゆる環境で動く事を気にする必要がある???
あらゆる環境で動く事を気にする必要がある???
2021/01/16(土) 15:06:42.89ID:Q9Gxtc5G
>>320
大した手間じゃないよ
一流は自分達の、多少の手間を惜しんで、ユーザーの負担を、増やそうとはしない
二流は自分達が、ほんの少し楽したいからって、ユーザーに手間をオシツケテル
GitLabは超一流だ
だから、シングルコンテナを選んだ
そのほうが、ユーザーが、楽だからだ
大した手間じゃないよ
一流は自分達の、多少の手間を惜しんで、ユーザーの負担を、増やそうとはしない
二流は自分達が、ほんの少し楽したいからって、ユーザーに手間をオシツケテル
GitLabは超一流だ
だから、シングルコンテナを選んだ
そのほうが、ユーザーが、楽だからだ
2021/01/16(土) 15:08:16.52ID:Q9Gxtc5G
>>321
世界に公開するイメージなら、どの環境でも、簡単な手順で、動いたほうがいいに、決まってる
世界に公開するイメージなら、どの環境でも、簡単な手順で、動いたほうがいいに、決まってる
324login:Penguin
2021/01/16(土) 15:09:08.10ID:kbdLhinp >>322
そんな物誰も求めてないから真似しないんだと思うよ。
そんな物誰も求めてないから真似しないんだと思うよ。
2021/01/16(土) 16:14:05.11ID:xgde4k3r
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock my-awesome-app docker-compose up
326login:Penguin
2021/01/16(土) 17:46:05.64ID:A/RioSjd docker.sockをさらけ出すとあぶない
2021/01/16(土) 20:08:19.27ID:agw/Ae5n
2021/01/16(土) 20:29:43.69ID:xviAIVIh
暇だから適当なこと言ってからかって遊んでるだけだぞ
2021/01/16(土) 20:48:18.87ID:hpTtRYug
GitLabは例外でしかないだろ
GitLabのDockerfileみてみろ、めちゃくちゃ大変なことしてるぞ
あれはそこまで頑張ってでも1コンテナにしたほうが
利用者にとっては便利だから、工数かけてやっただけで
作る側にとっては大変だってことの証明になってる
GitLabのDockerfileみてみろ、めちゃくちゃ大変なことしてるぞ
あれはそこまで頑張ってでも1コンテナにしたほうが
利用者にとっては便利だから、工数かけてやっただけで
作る側にとっては大変だってことの証明になってる
330login:Penguin
2021/01/16(土) 21:13:25.79ID:niX7PYZl GitLabはDockerが推奨する「普通の」やり方で作った非公式イメージが前からあった
あのやり方に疑問を抱く者は少なくなかった
公式helmチャートも出来たようだ
helmでそんな巨大イメージにする必要ないので
普通のやり方で作られてる
あのやり方に疑問を抱く者は少なくなかった
公式helmチャートも出来たようだ
helmでそんな巨大イメージにする必要ないので
普通のやり方で作られてる
2021/01/16(土) 21:17:03.29ID:g9x2r+gF
> あのやり方に疑問を抱く者は少なくなかった
それは使う側から見た話だろ?
作る側はどれだけ大変か、Dockerfileを見ればわかる
それは使う側から見た話だろ?
作る側はどれだけ大変か、Dockerfileを見ればわかる
2021/01/16(土) 21:20:07.53ID:Vaze8PjO
オーケストレーション前提じゃオペレーターも大変だ
オペレーターはレゴブロック遊びに付き合うほど暇じゃない
オペレーターはレゴブロック遊びに付き合うほど暇じゃない
333login:Penguin
2021/01/16(土) 21:25:17.11ID:wiSCvGlT https://github.com/sameersbn/docker-gitlab
GitLab使うならこっちでよくね?
GitLab使うならこっちでよくね?
2021/01/16(土) 21:29:15.94ID:OQ3EdIh9
readmeなっが
お手軽な公式版、使うわ
お手軽な公式版、使うわ
2021/01/16(土) 21:31:40.06ID:g9x2r+gF
な?「使うわ」という使う側の立場でしか見てないんだよ
作る側の大変さの話をしてるのにな
作る側の大変さの話をしてるのにな
336login:Penguin
2021/01/16(土) 21:34:13.07ID:2WB90esU バカの一つ覚えのように一つのコンテナなら手軽に試せるしか言わねえし
何言っても無駄だろ
何言っても無駄だろ
337login:Penguin
2021/01/16(土) 21:36:40.06ID:TWWzREgo338login:Penguin
2021/01/16(土) 21:40:03.44ID:pzrp2Yop redisとpostgresを何らかの手段で起動し
シークレットの暗号化に使う文字列を3つ作れば良い
たったこれだけ
これ以上簡単になりようがない
それを>>332はできないと言って
先程から大騒ぎしている
シークレットの暗号化に使う文字列を3つ作れば良い
たったこれだけ
これ以上簡単になりようがない
それを>>332はできないと言って
先程から大騒ぎしている
2021/01/16(土) 21:43:35.78ID:g9x2r+gF
GitLabはウェブサービスも運営してるが
そのGitLabがそのDockerfileを使ってると思うのか?って話だよな
スケールさせるためには、アプリとデータベースを分離させるのは当たり前だし
Dockerを使うっていうのは、そういうウェブサービスも運営するときの
システムを作るために有るのだから、そういうときにどういう構成にしますか?の
話でサービス毎にコンテナを分けるのは当たり前
作る側の視点がかけてる
これはDockerコンテナを動かすだけの
インフラ屋にありがち
そのGitLabがそのDockerfileを使ってると思うのか?って話だよな
スケールさせるためには、アプリとデータベースを分離させるのは当たり前だし
Dockerを使うっていうのは、そういうウェブサービスも運営するときの
システムを作るために有るのだから、そういうときにどういう構成にしますか?の
話でサービス毎にコンテナを分けるのは当たり前
作る側の視点がかけてる
これはDockerコンテナを動かすだけの
インフラ屋にありがち
340login:Penguin
2021/01/16(土) 21:47:08.37ID:LbH2M5zo ごった煮イメージが本番運用に堪えないって点に異論は無いらしい
2021/01/16(土) 22:02:21.78ID:jF/4b5o1
2021/01/16(土) 22:03:34.26ID:d+XwEvch
コンテナひとまとめが効率的おじさんは放置推奨。
2021/01/16(土) 22:03:42.74ID:jF/4b5o1
2021/01/16(土) 22:12:43.53ID:jF/4b5o1
なーんか、噛み合わねえんだよな
昼休憩にラーメン食いたいなぁ、って思ったら、まあ、カップ麺が手軽でいいわな
そうじゃなきゃ、チョイと割高だけど、ラーメン屋にでも行くかぁ、ってそういう話をしてんだよ
それなのにお前らは、
麺はどこそこの業者から原材料を仕入れて、手打ちが至高だの
チャーシューは、最高級の肉を使い、じっくりコトコト煮込んだものが、究極だ
スープはどーしろ、野菜はあーしろ
よし、一週間まってくれ
最高のラーメンを、食わせてやりますよ!
とまあ、こんな感じ
おいおい、昼休み、とっくに終わってる、つーの!
昼休憩にラーメン食いたいなぁ、って思ったら、まあ、カップ麺が手軽でいいわな
そうじゃなきゃ、チョイと割高だけど、ラーメン屋にでも行くかぁ、ってそういう話をしてんだよ
それなのにお前らは、
麺はどこそこの業者から原材料を仕入れて、手打ちが至高だの
チャーシューは、最高級の肉を使い、じっくりコトコト煮込んだものが、究極だ
スープはどーしろ、野菜はあーしろ
よし、一週間まってくれ
最高のラーメンを、食わせてやりますよ!
とまあ、こんな感じ
おいおい、昼休み、とっくに終わってる、つーの!
2021/01/16(土) 22:20:02.74ID:K7Q8mRub
dockerがどこから収益得てるのか考えたら
単なる1ユーザーがdocker使えるわ〜とかに
なるわけない
配布と奴隷を効率的に使うためにある
単なる1ユーザーがdocker使えるわ〜とかに
なるわけない
配布と奴隷を効率的に使うためにある
2021/01/17(日) 01:00:01.28ID:N6lWNkjM
二択で話をしたって言い争いにしかならねーぞ
2021/01/17(日) 05:42:17.89ID:XuFuvYAj
いつも、Docker をsupervisord とか、
仮想マシンみたいに使おうとする香具師が来て、1日で100レス以上進む。
同じ香具師だろ
1つの関心事につき、コンテナは1つ。
Docker Compose は本番では使えない
そもそもポートフォワーディング方式だと、スケールできないし。
既にポート80番を使っていたら、
8080番とか、ポートを変えないといけないから、ユーザーがアクセスできない
Kubernetes みたいに、cgroup, namespace が無いと運用できない
仮想マシンみたいに使おうとする香具師が来て、1日で100レス以上進む。
同じ香具師だろ
1つの関心事につき、コンテナは1つ。
Docker Compose は本番では使えない
そもそもポートフォワーディング方式だと、スケールできないし。
既にポート80番を使っていたら、
8080番とか、ポートを変えないといけないから、ユーザーがアクセスできない
Kubernetes みたいに、cgroup, namespace が無いと運用できない
2021/01/17(日) 08:17:47.03ID:/DQZFtWw
2021/01/17(日) 10:37:06.28ID:iT7NyvUt
本番swarmでdocker compose使うよ
2021/01/17(日) 20:30:25.56ID:bZXSAVtd
docker desktopからdocker-compose.ymlで書いたものを使ってコンテナ起動する方法を教えてください
351login:Penguin
2021/01/17(日) 20:42:43.49ID:fvYQBEb5 docker-compose up
352login:Penguin
2021/01/19(火) 20:44:52.35ID:G8DOf2K2 nixでDockerfile書かずにDockerイメージビルドしてみた
イメージは作成出来たが、bashの履歴やタブ補完が使えない
なんか設定したら使えるのか?
bash-completion入れてみたが、効果無かった
Dockerfileと組み合わせて使うか、普通にDockerfile使う方が楽かも
イメージは作成出来たが、bashの履歴やタブ補完が使えない
なんか設定したら使えるのか?
bash-completion入れてみたが、効果無かった
Dockerfileと組み合わせて使うか、普通にDockerfile使う方が楽かも
2021/01/19(火) 22:55:16.38ID:4qB/okoY
2021/01/20(水) 01:38:52.84ID:huiLDeTC
>>353
devcontainerも知らんの?
devcontainerも知らんの?
2021/01/20(水) 01:45:13.25ID:eMKfZ4zK
アンチパターンの名前がどうかしたのか?
2021/01/20(水) 01:53:13.57ID:huiLDeTC
アンチパターン?
2021/01/20(水) 06:14:40.34ID:0DdAhH3S
358347
2021/01/20(水) 06:40:15.88ID:SSSAU54j 環境依存するものをコンテナに入れていくと、
その環境では便利だけど、可搬性が無くなる
コンテナを別の環境へ持っていくと、環境依存のために動かなくなるので、
別の環境用への環境構築が必要となり、Docker を使う意味が無くなる
>>347
に書いた、
Dockerに、supervisord などを入れて、
仮想マシンみたいに使おうとする香具師と同じ
WSL2, Ubuntu などで直接構築しているのと同じになってしまう。
Dockerを使う意味がない
その環境では便利だけど、可搬性が無くなる
コンテナを別の環境へ持っていくと、環境依存のために動かなくなるので、
別の環境用への環境構築が必要となり、Docker を使う意味が無くなる
>>347
に書いた、
Dockerに、supervisord などを入れて、
仮想マシンみたいに使おうとする香具師と同じ
WSL2, Ubuntu などで直接構築しているのと同じになってしまう。
Dockerを使う意味がない
359login:Penguin
2021/01/20(水) 07:47:48.53ID:dF9xmUsG サーバーのメンテナンス作業のために
Dockerイメージに仕込んだスクリプトを実行するとか
開発中にbashに入ってデバッグはするだろう
シェル内でTabと上下キーすら使えない
地味に不便
Tabキーやカーソルキーを打つと空白や謎の文字が入力される
>>353
alpine, debianとかはコマンド履歴はちゃんと動くぞ
履歴はコンテナ削除すると失われるけど
Dockerイメージに仕込んだスクリプトを実行するとか
開発中にbashに入ってデバッグはするだろう
シェル内でTabと上下キーすら使えない
地味に不便
Tabキーやカーソルキーを打つと空白や謎の文字が入力される
>>353
alpine, debianとかはコマンド履歴はちゃんと動くぞ
履歴はコンテナ削除すると失われるけど
2021/01/20(水) 08:05:45.91ID:W+xpcSS1
コマンド履歴用などの機能があるシェルが入ってないだけでしょ。入れるだけ。軽量目指すとサンドボックスに近くなって作業性は低下する。
2021/01/20(水) 08:52:54.73ID:huiLDeTC
devcontainerも知らない冬獅郎がイキってたんか
2021/01/20(水) 10:51:37.69ID:SSSAU54j
VSCode の拡張機能で出来ないの?
Remote(WSL, Docker, SSH) とか
Remote(WSL, Docker, SSH) とか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 第2次大戦に触れトランプ氏「米中は同盟国」、当時は中華民国…「抗日」巡る中国の言説補強する恐れ ★4 [蚤の市★]
- 【速報】 高市首相 「円の過小評価は問題だ」 ★2 [お断り★]
- 【東京】ウズベキスタン国籍のフードデリバリー配達員を逮捕 配達先の女子小学生にキスや体を触るなどわいせつ行為か [煮卵★]
- 【速報】 高市首相 「円の過小評価は問題だ」 ★3 [お断り★]
- 69歳男性、29歳女性と結婚 「正気になって!」と訴えた40代独身娘 「44歳で弟が爆誕…?」 [お断り★]
- 【速報】 トランプ米大統領、日米首脳会談で高市首相に円安の懸念を伝える [お断り★]
- NHK「アメリカと同盟国だったのは中華民国であり今の中国ではありません。これは問題発言です」 [931948549]
- 【悲報】高市「うーんこの演説、なんか足りないわね…🫪!敵国条項削除っと」自ら原稿に加筆していた😨 ★2 [359965264]
- 【急募】パチ屋に復讐する方法
- ドコモ値上げ、ahamo3段階制導入 [256556981]
- 女性「たのしいピクニック女は女性から見ると知的○害者なの。クラスで嫌われていて1ミリもモテないwww」 [592058334]
- 男「生き物を踏み潰す女性募集」10代女性「はい!(虫かザリガニやろ)」男「ハムスター」女「え!絶対いや!」男「1匹ごとに報酬1000円」→25匹踏む [597533159]