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/
Docker Part4
■ このスレッドは過去ログ倉庫に格納されています
2020/08/17(月) 00:19:36.93ID:PKLBL3Xf
641login:Penguin
2020/11/04(水) 09:25:01.57ID:1buxXrD8 IaC全くしてないレガシーなPHPのシステムをDocker+ECSに移行なら昔やった
でも、本番でバインドマウントしてるのはアップロードされたファイルだけだな
設定は環境変数から取得するようにして
アップロードされたファイルなど一部だけをバインドマウント経由でEFSに保存する
他は全てnginxやphpのイメージに予め入れておく
ログは標準出力経由で全てコンテナのログへ
DBは元から別サーバー
ローカル開発環境ではUnisonでphpファイルを同期
開発機のphp入ってるディレクトリを丸ごとマウントでも良いか、このシステムは肥大化してて遅いのでUnisonを使用
でも、本番でバインドマウントしてるのはアップロードされたファイルだけだな
設定は環境変数から取得するようにして
アップロードされたファイルなど一部だけをバインドマウント経由でEFSに保存する
他は全てnginxやphpのイメージに予め入れておく
ログは標準出力経由で全てコンテナのログへ
DBは元から別サーバー
ローカル開発環境ではUnisonでphpファイルを同期
開発機のphp入ってるディレクトリを丸ごとマウントでも良いか、このシステムは肥大化してて遅いのでUnisonを使用
2020/11/04(水) 09:29:46.18ID:sMNwaZ5l
俺は横着なのでDockerfileが構築手順書がわりになる方が便利
それがなけりゃlxc使う(かつては使ってた)
docker runも--rm付けて毎回クリーンに起動するのが性に合う
無論ログやdbファイルはボリュームで外部化するけど
それがなけりゃlxc使う(かつては使ってた)
docker runも--rm付けて毎回クリーンに起動するのが性に合う
無論ログやdbファイルはボリュームで外部化するけど
2020/11/04(水) 10:03:23.77ID:eFolKj+u
>>626
直接マウントするのはハードウェア1つにつきコンテナ1つだけ
マウントしてるコンテナが他のコンテナにサービスとしてファイルアクセスを提供する
排他制御とかもその1つのコンテナが全部引き受ける
直接マウントするのはハードウェア1つにつきコンテナ1つだけ
マウントしてるコンテナが他のコンテナにサービスとしてファイルアクセスを提供する
排他制御とかもその1つのコンテナが全部引き受ける
2020/11/04(水) 10:13:53.42ID:c69K63Cq
>>636
dockerに限らずIasCって必ずしもコストパフォーマンスがいいとも限らんからな
自動化の制御が複雑になるなら手作業で設定してコミットしちゃったほうが簡単だって考え方は十分ありだと思うよ
IasCに疲弊してる企業が、よくよく考えたら本当に欲しかったものはサーバーの状態をexp impする機能だった
dockerに限らずIasCって必ずしもコストパフォーマンスがいいとも限らんからな
自動化の制御が複雑になるなら手作業で設定してコミットしちゃったほうが簡単だって考え方は十分ありだと思うよ
IasCに疲弊してる企業が、よくよく考えたら本当に欲しかったものはサーバーの状態をexp impする機能だった
2020/11/04(水) 11:06:14.87ID:8vCtX8KM
>>643
ホストディレクトリをマウントしているコンテナが、
他のコンテナにサービスとしてファイルアクセスを提供するには、
XFSとか、Sambaとか、排他制御ができるというオンラインファイル共有サービスを公開するということですか。
なるほど、じゃあ、ボリュームをマウントしたコンテナが、
それらの共有サービスを公開すれば、他のコンテナでもボリューム内容を共有できますね。
ホストディレクトリをマウントしているコンテナが、
他のコンテナにサービスとしてファイルアクセスを提供するには、
XFSとか、Sambaとか、排他制御ができるというオンラインファイル共有サービスを公開するということですか。
なるほど、じゃあ、ボリュームをマウントしたコンテナが、
それらの共有サービスを公開すれば、他のコンテナでもボリューム内容を共有できますね。
2020/11/04(水) 11:10:18.58ID:8vCtX8KM
2020/11/04(水) 11:13:28.47ID:QtKCHGIC
2020/11/04(水) 11:14:58.00ID:QtKCHGIC
>>646
それはあなたの感想であって、意見や主張は何も含まれてないですね
それはあなたの感想であって、意見や主張は何も含まれてないですね
649login:Penguin
2020/11/04(水) 11:38:17.56ID:g/DLzKYE 最初からDocker前提で書いてればそんな難しくはない
レガシーなシステムを大量に抱えてたら大変
レガシーなシステムを大量に抱えてたら大変
650login:Penguin
2020/11/04(水) 12:24:20.61ID:8vCtX8KM >>647
でも、データベースの場合は、SQLコマンドのやり取りだけなので、データベースのデータファイルを直接オンラインストレージサービスで共有する必要はないよな。
排他制御を行うためにストレージサービス(XFS, samba)を使う場合は、ファイルレベルでの取り扱いが必要な場合だけだよね。
でも、データベースの場合は、SQLコマンドのやり取りだけなので、データベースのデータファイルを直接オンラインストレージサービスで共有する必要はないよな。
排他制御を行うためにストレージサービス(XFS, samba)を使う場合は、ファイルレベルでの取り扱いが必要な場合だけだよね。
2020/11/04(水) 12:25:28.53ID:mkPVUBW6
レガシーの移行はいっぺんにやろうとするな
VM、LXC、systemdコンテナ、Ansible、Chefなどを使って段階的に移行すべし
そもそもdockerに移行する意味があるのかはよく考えたほうがいい
VM、LXC、systemdコンテナ、Ansible、Chefなどを使って段階的に移行すべし
そもそもdockerに移行する意味があるのかはよく考えたほうがいい
652login:Penguin
2020/11/04(水) 12:31:03.62ID:8vCtX8KM >>647
でも、そもそもどうしてコンテナには1サービスしかおいたら駄目なのか?
例えば、名前解決させるのにdnsmasqデーモンが別途必要だとすると、これで複数サービスになってしまう。
アプリケーションという概念は、様々なサービスの組み合わせが本質だから、可搬性を考えても、それらをワンコンテナに組み込むのが自然だと思う。
即ち、データベースとwebサービスは同一コンテナにしてもよいでしょということになる。
でも、そもそもどうしてコンテナには1サービスしかおいたら駄目なのか?
例えば、名前解決させるのにdnsmasqデーモンが別途必要だとすると、これで複数サービスになってしまう。
アプリケーションという概念は、様々なサービスの組み合わせが本質だから、可搬性を考えても、それらをワンコンテナに組み込むのが自然だと思う。
即ち、データベースとwebサービスは同一コンテナにしてもよいでしょということになる。
653login:Penguin
2020/11/04(水) 12:34:52.88ID:8vCtX8KM2020/11/04(水) 12:38:00.10ID:3mo/cajL
2020/11/04(水) 12:41:03.59ID:5mpefc2R
>>652
その考え方で概ね正しいよ
好例としてGitlabのオフィシャルコンテナも1コンテナにすべてのサービスを詰め込んで1コンテナ:マルチサービスで動かしている
そして内部的な構成管理ツールとしてChefを使っている
これは1コンテナ:1プロセスという無意味なプラクティスには反するが現実として非常にうまくいってる
ただしこの構成だと特定のコンテキストやレイヤーを抜き出してそれだけスケールアウトするのが難しくなる
デメリットはせいぜいそれぐらいしかない
その考え方で概ね正しいよ
好例としてGitlabのオフィシャルコンテナも1コンテナにすべてのサービスを詰め込んで1コンテナ:マルチサービスで動かしている
そして内部的な構成管理ツールとしてChefを使っている
これは1コンテナ:1プロセスという無意味なプラクティスには反するが現実として非常にうまくいってる
ただしこの構成だと特定のコンテキストやレイヤーを抜き出してそれだけスケールアウトするのが難しくなる
デメリットはせいぜいそれぐらいしかない
2020/11/04(水) 12:45:25.28ID:3mo/cajL
よく言われるのは1プロセスじゃなく1サービスだろ
WebとDBで完結して1サービスと見なせるなら分ける必要ないよ
Webを複数にして負荷分散等する予定があるとか
DBをデータマート的に多目的に使う奈良分けた方が柔軟だろうが
WebとDBで完結して1サービスと見なせるなら分ける必要ないよ
Webを複数にして負荷分散等する予定があるとか
DBをデータマート的に多目的に使う奈良分けた方が柔軟だろうが
657login:Penguin
2020/11/04(水) 13:10:06.70ID:g/DLzKYE mysqlとかphpmyadminとか既存のDockerイメージあるじゃん?
なのにわざわざ苦労して手動インストールして
1つの複雑なDockerイメージにする理由がない
なのにわざわざ苦労して手動インストールして
1つの複雑なDockerイメージにする理由がない
2020/11/04(水) 13:26:36.97ID:QtKCHGIC
>>652
> 即ち、データベースとwebサービスは同一コンテナにしてもよいでしょということになる。
する理由がない
複数コンテナを結合できるのに、一体化させる理由がないんだよね
複数コンテナをつなげるのは簡単だが、一つになってるものは分離できない
> 即ち、データベースとwebサービスは同一コンテナにしてもよいでしょということになる。
する理由がない
複数コンテナを結合できるのに、一体化させる理由がないんだよね
複数コンテナをつなげるのは簡単だが、一つになってるものは分離できない
2020/11/04(水) 14:17:42.89ID:5mpefc2R
・複数のコンテナをオーケストレーションしないと使えないサービス
・コンテナ1個動かせばOKなサービス
どっちが楽なのかは自明だろ
・コンテナ1個動かせばOKなサービス
どっちが楽なのかは自明だろ
2020/11/04(水) 14:18:38.55ID:5mpefc2R
更に既存資産があれば作るのも楽々だ
わざわざ労力をかけてDockerfileに書き直す?
ハァト…無駄な努力
わざわざ労力をかけてDockerfileに書き直す?
ハァト…無駄な努力
661login:Penguin
2020/11/04(水) 14:21:20.57ID:1buxXrD8 >>659
docker -composeも使えない猿未満の方?
docker -composeも使えない猿未満の方?
662login:Penguin
2020/11/04(水) 14:31:08.78ID:1buxXrD8 DBは本番だと別サーバーな事も多い
メインのDockerイメージに含まれてても容量が大きくなって邪魔なだけ
DBは自分で用意するから余計なお節介はやめろ
DBだけAWS RDS使いたければ、
元から別コンテナだったら本番で構成に含めなければ済む話
なぜsupervisordとか使って複雑にする必要がある?
メインのDockerイメージに含まれてても容量が大きくなって邪魔なだけ
DBは自分で用意するから余計なお節介はやめろ
DBだけAWS RDS使いたければ、
元から別コンテナだったら本番で構成に含めなければ済む話
なぜsupervisordとか使って複雑にする必要がある?
2020/11/04(水) 16:03:30.21ID:ZKU6KPhr
流行ってるからでぇ〜すwww
たいがいこんなもんだろ
たいがいこんなもんだろ
2020/11/04(水) 17:44:02.78ID:5mpefc2R
>>661
なぜ使える使えないという個人のスキルの話に脱線するのか意味不明だよ君
dockercomposeを使わなくても簡単に動かせるならそちらのほうがいい
より簡単な方はどっちなのか?
答えは誰でもわかる、単一コンテナのほうが簡単
なぜ使える使えないという個人のスキルの話に脱線するのか意味不明だよ君
dockercomposeを使わなくても簡単に動かせるならそちらのほうがいい
より簡単な方はどっちなのか?
答えは誰でもわかる、単一コンテナのほうが簡単
2020/11/04(水) 17:46:32.48ID:5mpefc2R
2020/11/04(水) 17:49:51.64ID:YAhpIihL
2020/11/04(水) 17:50:49.68ID:YAhpIihL
>>665
分割したほうが再利用しやすいという話だ
分割したほうが再利用しやすいという話だ
2020/11/04(水) 17:54:01.59ID:5mpefc2R
>>666
いやいや
同じ機能が手に入るなら簡単であればあるほどいい
難しい構成が許されるのはそれに見合う目的が必要
つまりデフォルトは限りなくシンプルに簡単に
細かくチューンナップしたいなら難しい構成を許可する
という順番がある
最初から難しい構成を押し付けるのはクソ製品
いやいや
同じ機能が手に入るなら簡単であればあるほどいい
難しい構成が許されるのはそれに見合う目的が必要
つまりデフォルトは限りなくシンプルに簡単に
細かくチューンナップしたいなら難しい構成を許可する
という順番がある
最初から難しい構成を押し付けるのはクソ製品
2020/11/04(水) 17:55:15.65ID:YAhpIihL
> 同じ機能が手に入るなら簡単であればあるほどいい
自分で答え言っちゃってるわなw
「同じ機能が手に入らない」ので
言ってることが論理的ではない
自分で答え言っちゃってるわなw
「同じ機能が手に入らない」ので
言ってることが論理的ではない
2020/11/04(水) 17:57:50.83ID:5mpefc2R
>>667
そうとも限らない
Gitlabコンテナは世界中で再利用されている
再利用するのにまったく困ることがない
もし仮にGitlabコンテナを構成するサービスが別のコンテナになっていたらオーケストレーション構成を考えるのが面倒で再利用に余計な手間がかかってしまう
そうとも限らない
Gitlabコンテナは世界中で再利用されている
再利用するのにまったく困ることがない
もし仮にGitlabコンテナを構成するサービスが別のコンテナになっていたらオーケストレーション構成を考えるのが面倒で再利用に余計な手間がかかってしまう
2020/11/04(水) 17:59:06.99ID:YAhpIihL
× Gitlabコンテナは世界中で再利用されている
○ GitLabサービスは世界中で利用されている
一番簡単なのは GitLabサービスなのだ
○ GitLabサービスは世界中で利用されている
一番簡単なのは GitLabサービスなのだ
2020/11/04(水) 17:59:34.38ID:5mpefc2R
2020/11/04(水) 17:59:51.82ID:5mpefc2R
>>671
話をそらすな
話をそらすな
2020/11/04(水) 18:00:53.80ID:YAhpIihL
そらしてないなぁ
データベースが一体化していれば
GitLabサービスの運営は大変だろう
データベースが一体化していれば
GitLabサービスの運営は大変だろう
2020/11/04(水) 18:03:51.46ID:5mpefc2R
Gitlabは本当によくできている
デフォルトでは単一コンテナで最小のパラメーター設定だけで動かせるように作られてる
その上で内部サービスをオミットして別のコンテナに分割することもできる
そうする必要もないのにデフォルトの構成を複雑化させたがるバカはGitlabコンテナを見習ってほしい
デフォルトでは単一コンテナで最小のパラメーター設定だけで動かせるように作られてる
その上で内部サービスをオミットして別のコンテナに分割することもできる
そうする必要もないのにデフォルトの構成を複雑化させたがるバカはGitlabコンテナを見習ってほしい
2020/11/04(水) 18:05:56.53ID:5mpefc2R
2020/11/04(水) 18:15:31.23ID:YAhpIihL
だから大抵の人にとって一番簡単なのはGitLabサービスを使うことだろ
それに対してデータベースを別でバックアップしておきたいって人にとっては
データベースは分離されていたほうがいいし
それに対してデータベースを別でバックアップしておきたいって人にとっては
データベースは分離されていたほうがいいし
678login:Penguin
2020/11/04(水) 18:15:58.50ID:wKYTl7Ay679login:Penguin
2020/11/04(水) 18:17:19.26ID:wKYTl7Ay >>657
可搬性が理由だと思う。
可搬性が理由だと思う。
2020/11/04(水) 18:18:07.54ID:YAhpIihL
GitLabは全部一緒くたになってるから
間違ってコンテナを消してしまうとデータまで消えてしまう
データのバックアップも大変
安心して運用なんてできないよ
間違ってコンテナを消してしまうとデータまで消えてしまう
データのバックアップも大変
安心して運用なんてできないよ
2020/11/04(水) 18:19:48.34ID:5mpefc2R
>>677
またトンチンカンなことを
Gitlabサービスを使う話はしてない
コンテナの構成として1コンテナマルチサービスの是非を議論しているのにマネージドサービスと比較してどうすんだよ
本当に意味不明だよ君
今の話の大前提は「DockerでGitlabをセルフホストする」ことだ
マネージドサービスの話がしたいならスレ違いだからさっさと別のスレにいけ
またトンチンカンなことを
Gitlabサービスを使う話はしてない
コンテナの構成として1コンテナマルチサービスの是非を議論しているのにマネージドサービスと比較してどうすんだよ
本当に意味不明だよ君
今の話の大前提は「DockerでGitlabをセルフホストする」ことだ
マネージドサービスの話がしたいならスレ違いだからさっさと別のスレにいけ
2020/11/04(水) 18:19:53.14ID:YAhpIihL
2020/11/04(水) 18:20:55.39ID:i96Niluf
github使わずにgitlab使うのは自社サーバで運用したいケースが多いんじゃね
マイクロソフト資本を嫌悪したケースもあるかも知らんが
あとデータベースのバックアップは基本的にコンテナやボリューム単位ではなくて
データベース純正のバックアップ手段使うケースが多いと思うよ
マイクロソフト資本を嫌悪したケースもあるかも知らんが
あとデータベースのバックアップは基本的にコンテナやボリューム単位ではなくて
データベース純正のバックアップ手段使うケースが多いと思うよ
2020/11/04(水) 18:21:34.34ID:YAhpIihL
>>681
> 今の話の大前提は「DockerでGitlabをセルフホストする」ことだ
ほらなw また条件つけた。
つまりこいつにとっての「使いやすい」の基準は
「DockerでGitlabをセルフホストする」場合の話であって
誰かのためにサービスを運営する(つまりGitLabサービス)のようなものには
当てはまらないということだ
開発者なら「誰かのためにサービスを運営する」だろ?
> 今の話の大前提は「DockerでGitlabをセルフホストする」ことだ
ほらなw また条件つけた。
つまりこいつにとっての「使いやすい」の基準は
「DockerでGitlabをセルフホストする」場合の話であって
誰かのためにサービスを運営する(つまりGitLabサービス)のようなものには
当てはまらないということだ
開発者なら「誰かのためにサービスを運営する」だろ?
2020/11/04(水) 18:24:03.66ID:5mpefc2R
>>680
間違って消しちゃたら困るのは纏めてようが分けてようが同じ
バックアップはgitlabのコマンドラインツールを使う方法、ボリュームをバックアップする方法がサポートされている
いずれの場合も、対象が1つのコンテナにまとまってるから簡単にバックアップできる
もし、これが複数のコンテナに分量外していたら、それぞれのコンテナについてバックアップを考えなければならないので大変だ
間違って消しちゃたら困るのは纏めてようが分けてようが同じ
バックアップはgitlabのコマンドラインツールを使う方法、ボリュームをバックアップする方法がサポートされている
いずれの場合も、対象が1つのコンテナにまとまってるから簡単にバックアップできる
もし、これが複数のコンテナに分量外していたら、それぞれのコンテナについてバックアップを考えなければならないので大変だ
2020/11/04(水) 18:25:44.20ID:YAhpIihL
> バックアップはgitlabのコマンドラインツールを使う方法、ボリュームをバックアップする方法がサポートされている
はいそれなw
「一つにまとめたほうがいい」という方針の結果がそれだよw
そういう方法を自分で作らなければいけなくなるということ
データベースが分離されていれば、一般的なやり方がそのまま使える
GitLabに依存してないからだ。しかし一つにまとめた結果そのやり方が使えなくなり
そういうツールを開発しなければいけなくなった
はいそれなw
「一つにまとめたほうがいい」という方針の結果がそれだよw
そういう方法を自分で作らなければいけなくなるということ
データベースが分離されていれば、一般的なやり方がそのまま使える
GitLabに依存してないからだ。しかし一つにまとめた結果そのやり方が使えなくなり
そういうツールを開発しなければいけなくなった
2020/11/04(水) 18:26:08.29ID:5mpefc2R
2020/11/04(水) 18:28:08.38ID:YAhpIihL
>>687
お前は他人が用意したものを使うだけの話をしてるが
こちとらDockerfileを「作る側」の話をしてるんだよ
それはGitLabサービスと同じ立場だ
一つにまとめれば作るのが簡単?
GitLabのバックアップの件からも特殊なツールの開発が
必要になるってことがわかったよなw
お前は他人が用意したものを使うだけの話をしてるが
こちとらDockerfileを「作る側」の話をしてるんだよ
それはGitLabサービスと同じ立場だ
一つにまとめれば作るのが簡単?
GitLabのバックアップの件からも特殊なツールの開発が
必要になるってことがわかったよなw
2020/11/04(水) 18:29:36.41ID:5mpefc2R
>>686
考えが浅すぎてため息しかでない
なにが一般的な方法が使えるだよ
Gitlabの管理するデータはDBだけじゃない
リポジトリデータやその他のサービスのデータも管理してる
これらを個別に管理したら大変だよ
個別に簡単に管理できるならGitlabはわざわざバックアップコマンドを用意したりしねーよ
少しは考えろ
考えが浅すぎてため息しかでない
なにが一般的な方法が使えるだよ
Gitlabの管理するデータはDBだけじゃない
リポジトリデータやその他のサービスのデータも管理してる
これらを個別に管理したら大変だよ
個別に簡単に管理できるならGitlabはわざわざバックアップコマンドを用意したりしねーよ
少しは考えろ
2020/11/04(水) 18:33:11.70ID:5mpefc2R
>>688
作る側ならより慎重に使う側の都合を考えろよ
使う側に知識と労力を期待するのは三流の開発者だ
Gitlabの開発者はdocker runさえ知ってればGitlabを動かせるように整備した
これが一流の開発者だ
作る側ならより慎重に使う側の都合を考えろよ
使う側に知識と労力を期待するのは三流の開発者だ
Gitlabの開発者はdocker runさえ知ってればGitlabを動かせるように整備した
これが一流の開発者だ
2020/11/04(水) 18:34:45.63ID:YAhpIihL
ああ、使う側って自分で開発したアプリでサービスを運営するって考えがないのかw
いやはや、考えが浅いなぁ
いやはや、考えが浅いなぁ
2020/11/04(水) 18:42:23.75ID:5mpefc2R
>>691
利用形態は外向けサービス運営だけじゃない
むしろサービス運営のほうが圧倒的に少数派
どんな企業でも開発用の社内システムを持ってるがサービス運営をしているとは限らない
社内システムでは導入の手軽さと運用コストがまっさきに検討される
こんなことにすら考えを巡らせられないのか?
浅い
浅すぎる
利用形態は外向けサービス運営だけじゃない
むしろサービス運営のほうが圧倒的に少数派
どんな企業でも開発用の社内システムを持ってるがサービス運営をしているとは限らない
社内システムでは導入の手軽さと運用コストがまっさきに検討される
こんなことにすら考えを巡らせられないのか?
浅い
浅すぎる
2020/11/04(水) 18:45:23.76ID:5mpefc2R
自分たちで作って自分たちだけで消費してるから不特定多数にイメージを使ってもらうという想定ができないんだろうな
閉じた世界で考えてるからとにかく浅い
閉じた世界で考えてるからとにかく浅い
2020/11/04(水) 19:02:30.64ID:aUQpvtzl
自分が浅いことがバレて必死になってるなw
2020/11/04(水) 19:05:27.60ID:7ED4Lec/
おや
ついに反論できなくなったようだな
勝負あり
ついに反論できなくなったようだな
勝負あり
696login:Penguin
2020/11/04(水) 19:14:19.28ID:g/DLzKYE GitLabの公式イメージが気に入らなければ
k8sでHelmチャート版使うか非公式の方入れたら良い
https://github.com/sameersbn/docker-gitlab
既存のPostgreSQLとかRedisを使いたい!って要望に答えられないので
こういうものが作られる当然ではある
SMTPサーバーは流石にごった煮版の方もない
こればかりは一つのコンテナ内でどうにかならないからか
別にSMTPサーバー立てたり外部サービスを利用が必要
k8sでHelmチャート版使うか非公式の方入れたら良い
https://github.com/sameersbn/docker-gitlab
既存のPostgreSQLとかRedisを使いたい!って要望に答えられないので
こういうものが作られる当然ではある
SMTPサーバーは流石にごった煮版の方もない
こればかりは一つのコンテナ内でどうにかならないからか
別にSMTPサーバー立てたり外部サービスを利用が必要
2020/11/04(水) 19:23:38.13ID:7Ele+Ilf
公式もDB外付けできますよ
2020/11/04(水) 21:35:24.62ID:aRkKqxcc
番号確認用テスト
2020/11/04(水) 21:36:45.88ID:aRkKqxcc
2020/11/04(水) 22:08:46.47ID:3mo/cajL
>>678
試して言ってるんだけど
試して言ってるんだけど
2020/11/04(水) 22:09:53.22ID:3mo/cajL
>>682
排他ロックがかかるという意味で言ってる
排他ロックがかかるという意味で言ってる
2020/11/04(水) 22:39:25.83ID:PYTTHrMi
>>699
UIDやGIDが何ものであるか、考えてみてください。
UIDやGIDが何ものであるか、考えてみてください。
703login:Penguin
2020/11/05(木) 00:32:52.53ID:fiw9R+Nw >>701
通常ディレクトリでも、libreOfficeでファイルを開けばロックファイルが作られる。
アプリケーションレベルでのみロックが掛けられると思う。
viでも編集中のファイルは、ロックファイルが作られるよね。
Dockerボリュームとか、ファイルシステムレベルでのロックなんてそもそもなかったのではないか?
通常ディレクトリでも、libreOfficeでファイルを開けばロックファイルが作られる。
アプリケーションレベルでのみロックが掛けられると思う。
viでも編集中のファイルは、ロックファイルが作られるよね。
Dockerボリュームとか、ファイルシステムレベルでのロックなんてそもそもなかったのではないか?
2020/11/05(木) 07:26:28.83ID:I+aaEHF/
ボリュームなんてただのディレクトリでしかないのに何いってんだ
カーネルを共有してるにどうやって
ファイルシステムのロックを回避するっていうんだよ
Dockerは仮想マシンじゃねーよアホ
カーネルを共有してるにどうやって
ファイルシステムのロックを回避するっていうんだよ
Dockerは仮想マシンじゃねーよアホ
2020/11/05(木) 07:27:59.79ID:I+aaEHF/
706login:Penguin
2020/11/05(木) 07:32:50.40ID:3ZkEmE9Q >>654
何のアプリケーションを試してるんだから知らないが
それDockerとか関係なく複数のプロセスから同じファイルを触らせてるだけだろ?
排他制御がどうなるかは動かしてるアプリケーションの仕様による
Docker関係ない
何のアプリケーションを試してるんだから知らないが
それDockerとか関係なく複数のプロセスから同じファイルを触らせてるだけだろ?
排他制御がどうなるかは動かしてるアプリケーションの仕様による
Docker関係ない
2020/11/05(木) 07:34:58.75ID:PZkmWwSI
708login:Penguin
2020/11/05(木) 09:30:02.22ID:fiw9R+Nw >>704
ファイルシステムのロックってなんのこと??
ファイルシステムのロックってなんのこと??
709login:Penguin
2020/11/05(木) 09:59:15.45ID:fiw9R+Nw >>706
ボリューム使ってコンテナ間でふを共有しても、
排他制御されないらしい
https://www.digitalocean.com/community/tutorials/how-to-share-data-between-docker-containers
but there’s one critical caveat: at this time, Docker doesn’t handle file locking. If you need multiple containers writing to the volume, the applications running in those containers must be designed to write to shared data stores in order to prevent data corruption.
ファイルオープンしているときに、
別のコンテナからファイルに変更を加えられるということだよね。
コンテナは、確か、同じカーネルで動作しているけど、リソースを分けるように名前をわけているらしい。
ファイルハンドラーも分けられているに違いない。
なので、ローカルマシンで同じファイルシステムに複数プロセスがファイルにアクセスするシナリオとは異なっているのだと思う。
ボリューム使ってコンテナ間でふを共有しても、
排他制御されないらしい
https://www.digitalocean.com/community/tutorials/how-to-share-data-between-docker-containers
but there’s one critical caveat: at this time, Docker doesn’t handle file locking. If you need multiple containers writing to the volume, the applications running in those containers must be designed to write to shared data stores in order to prevent data corruption.
ファイルオープンしているときに、
別のコンテナからファイルに変更を加えられるということだよね。
コンテナは、確か、同じカーネルで動作しているけど、リソースを分けるように名前をわけているらしい。
ファイルハンドラーも分けられているに違いない。
なので、ローカルマシンで同じファイルシステムに複数プロセスがファイルにアクセスするシナリオとは異なっているのだと思う。
711login:Penguin
2020/11/05(木) 10:18:40.71ID:fiw9R+Nw >>709
いや、ファイルハンドラーのくだりでおかしいこと言ってるな
勘違いしたわ。
結局、一つのカーネルがファイルシステムをとりあつかっているから、
ボリュームでコンテナ間でファイルを共有しても、
それはコンテナ使わない通常の状況において複数プロセスがファイルにアクセスできるのと同じことになるのかな。
いや、ファイルハンドラーのくだりでおかしいこと言ってるな
勘違いしたわ。
結局、一つのカーネルがファイルシステムをとりあつかっているから、
ボリュームでコンテナ間でファイルを共有しても、
それはコンテナ使わない通常の状況において複数プロセスがファイルにアクセスできるのと同じことになるのかな。
712login:Penguin
2020/11/05(木) 12:48:50.84ID:xIltC13o 初心者なんだけど、WindowsにDockerインストールして、DockerでCentOSのコンテナを起動、そこから、nginxとかpythonとかのコンテナを使いたいんだけど、そういう事出来るんでしょうか。
CentOSの80番に来たのをnginxのコンテナに飛ばして、更にpythonのコンテナに飛ばして処理、とか。
CentOS上にDockerをインストールして、そこからnginxのコンテナを置くとかの形になるんでしょうか。
CentOSの80番に来たのをnginxのコンテナに飛ばして、更にpythonのコンテナに飛ばして処理、とか。
CentOS上にDockerをインストールして、そこからnginxのコンテナを置くとかの形になるんでしょうか。
2020/11/05(木) 12:53:40.32ID:/PyhrE0E
> DockerでCentOSのコンテナを起動、そこから、nginxとかpythonとかのコンテナを使いたいんだけど、
意味不明w
Dockerのコンテナ=アプリ
つまり「Windowsでnginxアプリを使う」だけの話
そのnginxアプリっていうのが、内部でDockerを使ってるかもしれないし使ってないかもしれないが
nginxアプリをつかつ人にとってはどうでもいいことだ
意味不明w
Dockerのコンテナ=アプリ
つまり「Windowsでnginxアプリを使う」だけの話
そのnginxアプリっていうのが、内部でDockerを使ってるかもしれないし使ってないかもしれないが
nginxアプリをつかつ人にとってはどうでもいいことだ
2020/11/05(木) 13:01:14.19ID:/PyhrE0E
Dockerっていうのはな、アプリを作るためのものなんだよ
もちろん誰かが作ったアプリを使うだけのやつも居るが
本来はアプリを開発するために使うもの
例えばお前が作ったアプリがWindows上でそのまま動くか?
Linux上で動かすことを想定して作ったアプリだと動かないだろ?
Dockerを使えば、そういうアプリがWindows上でも動くということ
なぜならアプリを動かすのに必要なものが全てコンテナに含まれているから
コンテナに含まれていないのはLinuxカーネルだけだが、そのLinuxカーネルは
Docker for Windowsが提供している。(WSL2を使う場合はWindowsが提供しているLinuxカーネルを使う)
もちろん誰かが作ったアプリを使うだけのやつも居るが
本来はアプリを開発するために使うもの
例えばお前が作ったアプリがWindows上でそのまま動くか?
Linux上で動かすことを想定して作ったアプリだと動かないだろ?
Dockerを使えば、そういうアプリがWindows上でも動くということ
なぜならアプリを動かすのに必要なものが全てコンテナに含まれているから
コンテナに含まれていないのはLinuxカーネルだけだが、そのLinuxカーネルは
Docker for Windowsが提供している。(WSL2を使う場合はWindowsが提供しているLinuxカーネルを使う)
2020/11/05(木) 13:08:24.93ID:PGgKBof2
>>712
Docker in dockerかDocker outside of dockerというテクニックを使えばコンテナからコンテナを扱うことができるが
君が本当にやりたかったことはおそらくただのdocker composeだろう
Docker in dockerかDocker outside of dockerというテクニックを使えばコンテナからコンテナを扱うことができるが
君が本当にやりたかったことはおそらくただのdocker composeだろう
2020/11/05(木) 13:14:16.71ID:/PyhrE0E
いつものDockerを仮想マシンと勘違いしてるやつだろ
Dockerコンテナには原則としてログインしない(デバッグのときぐらい)
アプリにログインとかするか?それぐらい意味不明な行為
Dockerコンテナには原則としてログインしない(デバッグのときぐらい)
アプリにログインとかするか?それぐらい意味不明な行為
2020/11/05(木) 13:17:00.33ID:PGgKBof2
>>716
devcontainerを使ったことないのか
devcontainerを使ったことないのか
2020/11/05(木) 13:23:32.34ID:fiw9R+Nw
719login:Penguin
2020/11/05(木) 13:27:52.47ID:xIltC13o なるほど。
つまり、全体として一つの目的を果たすアプリを構築するモノであって、細かいコンテナを結合して使うような形はあまり想定されていないと。
やる場合はdocker composeが一番イメージに近そう。
こちらの想定としては、例えばpython2の実行環境が本番で動いているとして、その周りの環境はそのままに、pythonを2から3の実行環境へと入れ替え(ここをコンテナの入れ替えをするイメージでした)して、実際に全体として動くのかと言うような形の検証が出来ればいいなと考えていました。
この場合、python3ではうまく動かないなとなれば、python2のコンテナにつなぎ直せばゴミも残らず即元通りになると思いましたので。
つまり、全体として一つの目的を果たすアプリを構築するモノであって、細かいコンテナを結合して使うような形はあまり想定されていないと。
やる場合はdocker composeが一番イメージに近そう。
こちらの想定としては、例えばpython2の実行環境が本番で動いているとして、その周りの環境はそのままに、pythonを2から3の実行環境へと入れ替え(ここをコンテナの入れ替えをするイメージでした)して、実際に全体として動くのかと言うような形の検証が出来ればいいなと考えていました。
この場合、python3ではうまく動かないなとなれば、python2のコンテナにつなぎ直せばゴミも残らず即元通りになると思いましたので。
2020/11/05(木) 13:29:57.21ID:aPKS8bQV
いつものアレなのでスルー推奨
2020/11/05(木) 13:44:06.16ID:0fHUxX44
よく飽きねぇな
2020/11/05(木) 13:45:03.78ID:7JWgbSNJ
次スレはワッチョイかip頼む
2020/11/05(木) 13:47:11.51ID:fiw9R+Nw
2020/11/05(木) 16:43:09.02ID:/PyhrE0E
>>719
そういう使い方ではない
Dockerは「実際に全体として動くのか」の「全体」を作るもの
つまり「Python2を使う全体」と「Python3を使う全体」を
Dockerfileの内容を元にそれぞれ作る。
念の為。それぞれの中にはDockerは入ってないぞ。
Dockerfile(手順)を実行してDockerイメージを作るのがDockerで
さらにできたDockerイメージを動かすのがDockerだ
そういう使い方ではない
Dockerは「実際に全体として動くのか」の「全体」を作るもの
つまり「Python2を使う全体」と「Python3を使う全体」を
Dockerfileの内容を元にそれぞれ作る。
念の為。それぞれの中にはDockerは入ってないぞ。
Dockerfile(手順)を実行してDockerイメージを作るのがDockerで
さらにできたDockerイメージを動かすのがDockerだ
2020/11/05(木) 18:56:14.40ID:nb4htb8e
>>702
なぜUIDだとダメなのでしょうか?
なぜUIDだとダメなのでしょうか?
2020/11/05(木) 20:49:54.77ID:JL2sRUYB
>>627だけど、やっぱり誰も受けてない?
727login:Penguin
2020/11/05(木) 21:45:24.42ID:xIltC13o2020/11/05(木) 22:44:52.50ID:kRAtqvcg
729login:Penguin
2020/11/05(木) 22:49:30.86ID:fiw9R+Nw2020/11/05(木) 22:58:59.64ID:kRAtqvcg
外国のベンダー試験は死ぬほど実務的。
勉強して役に立たないという事は基本ない、という印象。高いけど。
ただdocker自体コンテナランタイムとしてどうよ?って気がする。
Docker swarmとか別に知りたくもないし。
勉強して役に立たないという事は基本ない、という印象。高いけど。
ただdocker自体コンテナランタイムとしてどうよ?って気がする。
Docker swarmとか別に知りたくもないし。
2020/11/05(木) 23:18:47.89ID:zb/W11IL
前から言ってんじゃんこれからはpodmanだって
dockerはレジストリとしての価値も危ぶまれてるまじオワコンよ
dockerはレジストリとしての価値も危ぶまれてるまじオワコンよ
2020/11/05(木) 23:34:44.62ID:TdGXrpVR
> これからはpodmanだって
podmanになったらまた来てくれ
これからはと言ってるやつの99%は外れだから
podmanになったらまた来てくれ
これからはと言ってるやつの99%は外れだから
2020/11/06(金) 00:31:53.26ID:P7wMRRj0
Docker は、namespace, cgroup, overlayfs を使っている。
本質は使い捨ての、immutable
仮想OS じゃないし、Docker Compose も、実システムとして使えない。
実システムは、AWS などのKubernetes
本質は使い捨ての、immutable
仮想OS じゃないし、Docker Compose も、実システムとして使えない。
実システムは、AWS などのKubernetes
2020/11/06(金) 00:37:54.86ID:s01/YDPr
>>731
podmanになるかは知らないけどDockerが何かに置き換えられるの可能性はあるだろうね。
DockeはDockerデーモンがネットワークを奪い取っちゃうのがイマイチなところ。
run -p 80:80 と書けるのは一見便利な様でコンテナランタイムでしかない筈のDockerプロセス
が標準ポートに対する攻撃を一人で引き受けることになる。
オマケにk8sとか上位からコンテナランタイムを制御したいシステムとネットワークが干渉して
邪魔になる。
podmanになるかは知らないけどDockerが何かに置き換えられるの可能性はあるだろうね。
DockeはDockerデーモンがネットワークを奪い取っちゃうのがイマイチなところ。
run -p 80:80 と書けるのは一見便利な様でコンテナランタイムでしかない筈のDockerプロセス
が標準ポートに対する攻撃を一人で引き受けることになる。
オマケにk8sとか上位からコンテナランタイムを制御したいシステムとネットワークが干渉して
邪魔になる。
2020/11/06(金) 00:50:07.25ID:P7wMRRj0
Python の環境構築なら、YouTube のキノコードの動画を参照!
【Bash】Windows Subsystem for Linux【WSL】8
https://mao.5ch.net/test/read.cgi/linux/1590742701/893
【Bash】Windows Subsystem for Linux【WSL】8
https://mao.5ch.net/test/read.cgi/linux/1590742701/893
2020/11/06(金) 01:48:56.19ID:T6MZgdki
play with dockerで簡易cgiローカルサーバー動かそうと思ったけど
起動はしたもののどこに接続していいのかわからない
$ vim index.html
$ mkdir cgi-bin
$ vim cgi-bin/sample.py
$ docker pull python:3.7-slim
# $ docker images
$ docker run -itd -v /root:/var/www/html [イメージID] bash
# $ docker ps -a
$ docker exec -it [コンテナID] bash
コンテナ内bash
$ cd var/www/html
$ python -m http.server --cgi 8000
これで一応サーバーは動いたっぽいものの
play-with-dockerのOPEN PORTボタンからアクセスしてもページが無かった
(自分のPCからだとコンテナに割り当てられたローカルホストのアドレスからきちんとアクセスできた)
起動はしたもののどこに接続していいのかわからない
$ vim index.html
$ mkdir cgi-bin
$ vim cgi-bin/sample.py
$ docker pull python:3.7-slim
# $ docker images
$ docker run -itd -v /root:/var/www/html [イメージID] bash
# $ docker ps -a
$ docker exec -it [コンテナID] bash
コンテナ内bash
$ cd var/www/html
$ python -m http.server --cgi 8000
これで一応サーバーは動いたっぽいものの
play-with-dockerのOPEN PORTボタンからアクセスしてもページが無かった
(自分のPCからだとコンテナに割り当てられたローカルホストのアドレスからきちんとアクセスできた)
2020/11/06(金) 02:48:39.14ID:P7wMRRj0
Ruby なら、コマンドプロンプト・PowerShell から、1-liner で、
Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、これでブラウザからアクセスできる
http://localhost:8080
ローカル回線だけでしょ。
ひょっとして、外部からアクセスさせるの?
外部なら、AWS のKubernetes, VPC のインターネット・ゲートウェイとか
Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、これでブラウザからアクセスできる
http://localhost:8080
ローカル回線だけでしょ。
ひょっとして、外部からアクセスさせるの?
外部なら、AWS のKubernetes, VPC のインターネット・ゲートウェイとか
2020/11/06(金) 02:51:35.40ID:W98uQtEe
compose使ってるんだけど毎回cdするの面倒くさい
ymlを登録するなりしてショートカット出来ないの?
ymlを登録するなりしてショートカット出来ないの?
739login:Penguin
2020/11/06(金) 03:07:19.75ID:s01/YDPr740737
2020/11/06(金) 03:38:32.11ID:P7wMRRj0 外部に公開するのは、
BB ルーターのポートフォワーディング・ポートマッピング・静的IP マスカレードの設定とか、
ファイアウォールのufw, netsh とか
でも、素人が公開すると、すぐに乗っ取られるw
ssh で、リモートログインの方が安全
BB ルーターのポートフォワーディング・ポートマッピング・静的IP マスカレードの設定とか、
ファイアウォールのufw, netsh とか
でも、素人が公開すると、すぐに乗っ取られるw
ssh で、リモートログインの方が安全
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 居住地で外国人増「いいと思わない」、41%に急増 交流は減少 …外国人が増えることに対して否定的な人は幸福度が低い傾向 [少考さん★]
- かわいいので「せんそうはんたい」のタオルを買った 声を上げられるうちにデモへ行く:東京新聞 [少考さん★]
- ヒカル、『DOWNTOWN+』Netflix配信決定ニュースに「ヤバない?さすがに。うまくいってないんや」「集客できてないんでしょうね」 [muffin★]
- 「ブルーカラー」の仕事が人気 「努力次第で年収1000万、2000万に」 人手不足とAI台頭でホワイトカラーは入れ替え [お断り★]
- [【農相報道】国交省が調査 簗氏「回答せず」繰り返し [蚤の市★]
- 【速報】 消費税減税しても物価が3%上昇すれば、家計トータルでは6~7万円の支出増になり「損になる」ことが判明 ★2 [お断り★]
- 【高市悲報】記者「偏りの無い予算編成を国民に誓えるの?」簗大臣「質問の趣旨がわかりません😡」 [359965264]
- 「少しでもお金を節約したかった」ドラッグストアで栄養ドリンクを盗む。自衛官の3等陸曹(29)が懲戒処分に [663766621]
- 【悲報】泉健太「疑惑追及は国会でやらず選挙で審判を」農水大臣の圧力疑惑で提案 [834922174]
- 【速報】化粧水、なんの意味もなかったwwwwwwwwwwwwwwww [308389511]
- 「維新」というクソ。なぜ国民は一時的にこんなクソたちに騙されてしまったの? [653462351]
- 【悲報】timelesz、MV全削除&ライブDVD発売中止w w w w w w w w w w w w w [398059782]