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
2020/11/06(金) 17:51:26.54ID:p0uOIOHq
Podmanx 2 Dr.ワイリーの謎
2020/11/06(金) 19:45:08.08ID:4r/vlmbk
>>753
代替ツールを流行っても居ないのに、これからはこれ!とか
言ってる奴は大概、役に立たない知識で終わっちゃうよね
ツールの使い方じゃなくて、考え方を理解してる人は、
後からでもすぐに理解できるから、焦って未熟な段階で使う必要がない
ノウハウがたまってバグがあらかた解決してからでも遅くないし
代替ツールを流行っても居ないのに、これからはこれ!とか
言ってる奴は大概、役に立たない知識で終わっちゃうよね
ツールの使い方じゃなくて、考え方を理解してる人は、
後からでもすぐに理解できるから、焦って未熟な段階で使う必要がない
ノウハウがたまってバグがあらかた解決してからでも遅くないし
2020/11/06(金) 23:52:41.31ID:P7wMRRj0
Docker, Docker Compose は、本番では使えないから、
最も重要なものは、AWS, Kubernetes
Linux 財団のCloud Native Computing Foundation(CNCF)の卒業プロジェクトも。
Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd
最も重要なものは、AWS, Kubernetes
Linux 財団のCloud Native Computing Foundation(CNCF)の卒業プロジェクトも。
Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd
2020/11/07(土) 00:16:16.97ID:eBGWX6aX
本番でも使えるが?
2020/11/07(土) 01:25:54.40ID:2ambohnb
dockerの入門書にk8sも記述されていることもあるけど
k8s使う場合って複数サーバが必要になりますよね?
k8s使う場合って複数サーバが必要になりますよね?
2020/11/07(土) 02:05:56.71ID:A9UbMMtV
そらそうよ。
2020/11/07(土) 08:23:01.80ID:eBGWX6aX
1台でもいいよ
761login:Penguin
2020/11/07(土) 09:04:10.75ID:ulFlM/B0 k8sって重過ぎじゃね?
特にetcdが
minikubeも色々入れたらすぐ遅くなった
k3sだと小さなサーバー1台でも使える、データベースにsqliteとか他のも使えるらしいが
デメリットある?
sqliteはHAに対応してない
dqliteはsqliteの分散版で、HAに対応してるが実験的
と言うのは知ってる
https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/
特にetcdが
minikubeも色々入れたらすぐ遅くなった
k3sだと小さなサーバー1台でも使える、データベースにsqliteとか他のも使えるらしいが
デメリットある?
sqliteはHAに対応してない
dqliteはsqliteの分散版で、HAに対応してるが実験的
と言うのは知ってる
https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/
2020/11/07(土) 09:41:24.11ID:8zmwVowU
763login:Penguin
2020/11/07(土) 11:00:12.29ID:ulFlM/B0 k3sはdqliteじゃなくてembedded etcdになるらしい
それって軽いの?
それって軽いの?
2020/11/07(土) 11:18:34.87ID:VOHFkWyI
重いのはスペックが足りないからやー!
2020/11/07(土) 17:29:16.56ID:XStoOlkj
k8sもメモリ食い過ぎだが、fluentdも酷い
たかがCPUとかメモリ使用率を取得するだけで数百MBもメモリを使用する
Ruby製なのが原因か知らんがC言語で作っていれば10MB程度しか食わないだろう
たかがCPUとかメモリ使用率を取得するだけで数百MBもメモリを使用する
Ruby製なのが原因か知らんがC言語で作っていれば10MB程度しか食わないだろう
2020/11/07(土) 18:19:29.17ID:tGPIOgJu
fluentd_v1.11使っているが2週間くらいでElasticにデータ渡さなくなる症状に悩まされているよ
docker-compose restartを定期期にする必要がある
docker-compose restartを定期期にする必要がある
767login:Penguin
2020/11/07(土) 18:38:38.67ID:ulFlM/B0 >>765
そんなあなたにfluentbit
そんなあなたにfluentbit
768login:Penguin
2020/11/07(土) 18:53:43.84ID:E4RaZBn4 k8sとかが、いったい何をしてくれるのか全然わからない。
全然わからないから、使う気にもなれない。
概要を読んでみても、まるで遠い話をしているみたいに聞こえて、必要性を感じられない。
だから、自分は素のままでDockerコンテナ使ってますよ。
何か一つこんなことができるよ的なことってないですかね。
全然わからないから、使う気にもなれない。
概要を読んでみても、まるで遠い話をしているみたいに聞こえて、必要性を感じられない。
だから、自分は素のままでDockerコンテナ使ってますよ。
何か一つこんなことができるよ的なことってないですかね。
2020/11/07(土) 20:07:06.04ID:AnDT9/b7
クラスタ組まないならcomposeでおk
クラスタ組む場合も自前ならswarmのほうが何かとお手軽で安定してる
composeもほとんどそのまま流用できる
AWSなんかはcomposeにも対応してるから今は無理してk8sを使う必要はない
クラスタ組む場合も自前ならswarmのほうが何かとお手軽で安定してる
composeもほとんどそのまま流用できる
AWSなんかはcomposeにも対応してるから今は無理してk8sを使う必要はない
2020/11/07(土) 22:47:47.96ID:3X/BADbo
k8s は、Auto Scale, Rolling Update, blue/green deployment
データセンター分離・ラック分離、多数決で意思決定
可用性・スケールアウトとか、全体の安全性が高い
Terraform も良い
データセンター分離・ラック分離、多数決で意思決定
可用性・スケールアウトとか、全体の安全性が高い
Terraform も良い
2020/11/07(土) 23:57:22.23ID:E4RaZBn4
2020/11/08(日) 00:25:36.43ID:indWRCUE
docker環境で開発をしている人に質問なのですが
本番環境は別にdockerfile(もしくはdocker-compose.yml)を作っていますか?
本番環境ではソースコードをイメージの中に入れたいのですが
開発環境ではソースコードはホスト側に置いて、マウントしたいです
(開発中に1行書き換える度にイメージ作り直す訳にいかんし)
とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして、一般的にはどうしているのかを知りたいです
本番環境は別にdockerfile(もしくはdocker-compose.yml)を作っていますか?
本番環境ではソースコードをイメージの中に入れたいのですが
開発環境ではソースコードはホスト側に置いて、マウントしたいです
(開発中に1行書き換える度にイメージ作り直す訳にいかんし)
とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして、一般的にはどうしているのかを知りたいです
2020/11/08(日) 00:39:21.68ID:E0Efq9ms
動画配信サイトとか高負荷かつ安定稼働を求められるシステムなら採用する価値はあるかもね
でもなんとなくK8S使ってみたかった程度の気持ちで無意味に使ってる人も多い
でもなんとなくK8S使ってみたかった程度の気持ちで無意味に使ってる人も多い
2020/11/08(日) 00:40:33.67ID:zneumWca
>>772
開発と言っても「実機と同等の構成で動かしてみる」というのも含まれるけど
一般にソースコードを修正してデバッグしてみたいな開発作業中は
Dockerを使わないよ
今はWindowsでもWSLがあるし、Dockerを使わないで開発やテストができる
いちいちDockerの中に開発ツール(ビルドツールやらlintツールやや)
入れなくていいから一番快適だしね。
その上で開発プロセスの一環として実機に近い環境で
テストしたいときはDockerを使う
開発と言っても「実機と同等の構成で動かしてみる」というのも含まれるけど
一般にソースコードを修正してデバッグしてみたいな開発作業中は
Dockerを使わないよ
今はWindowsでもWSLがあるし、Dockerを使わないで開発やテストができる
いちいちDockerの中に開発ツール(ビルドツールやらlintツールやや)
入れなくていいから一番快適だしね。
その上で開発プロセスの一環として実機に近い環境で
テストしたいときはDockerを使う
2020/11/08(日) 00:40:41.43ID:E0Efq9ms
>>772
テストはイメージ作ってやるから問題ないよ
テストはイメージ作ってやるから問題ないよ
2020/11/08(日) 00:43:27.55ID:zneumWca
K8Sは金がふんだんに有り余ってるようなところが使うようなイメージ
金を使って広大なK8S用クラスタを組んで、必要になったらコンテナ起動するけど
普段はクラスタの中に空きがあって、その部分にも金がかかってる
それでもOKな所が使ってる
それともK8Sを使ってコストを最小化するような話聞いたことある?
金を使って広大なK8S用クラスタを組んで、必要になったらコンテナ起動するけど
普段はクラスタの中に空きがあって、その部分にも金がかかってる
それでもOKな所が使ってる
それともK8Sを使ってコストを最小化するような話聞いたことある?
2020/11/08(日) 00:46:13.79ID:mgGpxjW7
>>772
Dockerfileは同一で、開発時はソースコードをADDしてるディレクトリに、バインドマウントしてあげるだけで良いのでは。
Dockerfileは同一で、開発時はソースコードをADDしてるディレクトリに、バインドマウントしてあげるだけで良いのでは。
2020/11/08(日) 00:50:35.76ID:zneumWca
2020/11/08(日) 00:54:00.53ID:zneumWca
どちらにしろ、開発用イメージはそのまま運用で使うことはできない
これが大前提。だから別々に作らなければいけないが
それするぐらいなら開発にはDockerを使わないほうがいい
使用する言語のバージョンやライブラリを統一するのは
Dockerを使わずともできる
これが大前提。だから別々に作らなければいけないが
それするぐらいなら開発にはDockerを使わないほうがいい
使用する言語のバージョンやライブラリを統一するのは
Dockerを使わずともできる
2020/11/08(日) 00:58:10.83ID:mgGpxjW7
2020/11/08(日) 01:16:24.21ID:E0Efq9ms
開発者の裁量で好きなように開発すればいい
テストさえしっかりしてれば何も問題はない
しかし好きにしろとは言ってもプロジェクトとして推奨構成をas codeで提示したほうが親切だろうな
ならDockerfileとdocker-compose.ymlが最も手軽だろう
テストさえしっかりしてれば何も問題はない
しかし好きにしろとは言ってもプロジェクトとして推奨構成をas codeで提示したほうが親切だろうな
ならDockerfileとdocker-compose.ymlが最も手軽だろう
782login:Penguin
2020/11/08(日) 03:08:06.81ID:kMpY44Ng >>772
>本番環境は別にdockerfile(もしくはdocker-compose.yml)を作っていますか?
別です。
開発環境のDockerは本番機よりもっと簡略化されている
サーバー証明書もオレオレ。
あくまでも、うちのケースの話ね。
>本番環境ではソースコードをイメージの中に入れたいのですが
>開発環境ではソースコードはホスト側に置いて、マウントしたいです
それで良いんじゃないの?
開発環境はdocker-compose.override.ymlで開発担当部分のみvolumesで上書きとか。
>とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして..
何故、開発機の次が本番機なのさw?
テスティングやステージングは?問題があるなら、そこでわかるでしょう。
>本番環境は別にdockerfile(もしくはdocker-compose.yml)を作っていますか?
別です。
開発環境のDockerは本番機よりもっと簡略化されている
サーバー証明書もオレオレ。
あくまでも、うちのケースの話ね。
>本番環境ではソースコードをイメージの中に入れたいのですが
>開発環境ではソースコードはホスト側に置いて、マウントしたいです
それで良いんじゃないの?
開発環境はdocker-compose.override.ymlで開発担当部分のみvolumesで上書きとか。
>とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして..
何故、開発機の次が本番機なのさw?
テスティングやステージングは?問題があるなら、そこでわかるでしょう。
783770
2020/11/08(日) 03:09:14.51ID:FpP/Utr7 k8s は、マスターは多数決で決めるから、分散数は奇数にして、3, 5, 7 個
ラックの電源断に備えて、ラックも別々。
データセンターの災害に備えて、データセンターも別々
こんな安全性を考えるのは、大企業
ラックの電源断に備えて、ラックも別々。
データセンターの災害に備えて、データセンターも別々
こんな安全性を考えるのは、大企業
2020/11/08(日) 03:12:19.79ID:Xb0LuSe/
多数決ってなに?
する意味あるの?
する意味あるの?
785770
2020/11/08(日) 03:38:50.21ID:FpP/Utr7 Ruby on Rails の場合は、Heroku, Cloud9 が最短。
git push するだけで、デプロイ完了!
他には、CircleCI, Capistrano
Chef, CookPad 製のItamae
Terraform
git push するだけで、デプロイ完了!
他には、CircleCI, Capistrano
Chef, CookPad 製のItamae
Terraform
786770
2020/11/08(日) 03:52:42.87ID:FpP/Utr7 ネットワーク分断の場合に、
どれがマスターに格上げされるかを、多数決で決める
多数決には過半数が必要だから、ミニマムで、2:1。
だから分散数は、3, 5, 7 個と奇数にしておく
2個は、1:1 になるから、過半数を取れない。
4個でも、1:3 なら過半数を取れるが、2:2 になったら過半数を取れない
Raft という分散合意システムで、HashiCorp のConsul でも使っている
どれがマスターに格上げされるかを、多数決で決める
多数決には過半数が必要だから、ミニマムで、2:1。
だから分散数は、3, 5, 7 個と奇数にしておく
2個は、1:1 になるから、過半数を取れない。
4個でも、1:3 なら過半数を取れるが、2:2 になったら過半数を取れない
Raft という分散合意システムで、HashiCorp のConsul でも使っている
787login:Penguin
2020/11/08(日) 07:46:27.45ID:kMpY44Ng そろそろスレチと言う気がしてきたな。
k8sの話したいのなら、航海1日目に行けよ。
k8sの話したいのなら、航海1日目に行けよ。
788login:Penguin
2020/11/08(日) 09:26:29.05ID:Om5NOQR82020/11/08(日) 10:37:59.27ID:YS1Huprs
>>786
奇数から1台死んだら偶数になって多数決で分断が起こるのでは?
奇数から1台死んだら偶数になって多数決で分断が起こるのでは?
2020/11/08(日) 11:34:21.65
docker pull django:latestってやるとバージョンが1なんですけど
古くないですか?
古くないですか?
791login:Penguin
2020/11/08(日) 11:51:41.92ID:kMpY44Ng >>789
多数決と言っているのはクラスタを構成するノードに対する比率を言っているのでは?
3ノード構成で2ノード生きているなら継続するよ、と。
あと分断耐性で言っているのはネットワークなので必ずしもノードが死んでいるとは限らない様な気がする。
クライアントからノード1、2には到達できるけど、3に到達する為のルーターが障害とかね。
多数決と言っているのはクラスタを構成するノードに対する比率を言っているのでは?
3ノード構成で2ノード生きているなら継続するよ、と。
あと分断耐性で言っているのはネットワークなので必ずしもノードが死んでいるとは限らない様な気がする。
クライアントからノード1、2には到達できるけど、3に到達する為のルーターが障害とかね。
2020/11/08(日) 12:06:00.13ID:3zTOdQJY
>>790
「古い」と答えてほしいのか?
「古い」と答えてほしいのか?
2020/11/08(日) 12:31:20.80
794login:Penguin
2020/11/08(日) 12:49:45.96ID:kMpY44Ng2020/11/08(日) 14:49:34.76
はい非推奨は知っていたのですが
オフィシャルイメージかつcopy and paste to pull this imageのプリントがそのままなので
他の方法やバージョン1でも問題がないのかと思っていました
オフィシャルイメージかつcopy and paste to pull this imageのプリントがそのままなので
他の方法やバージョン1でも問題がないのかと思っていました
2020/11/08(日) 15:10:37.66ID:2UugK007
非推奨と書いてあるのが読めて最終更新日からどれだけメンテナンスされてないか確認できたら
問題ないかどうか判断できるよね
問題ないかどうか判断できるよね
2020/11/08(日) 15:25:08.18
その判断の仕方だとどちらにも取れるのでは
問題かどうかは主にpythonのバージョンに依存するような・・
要は問答無用で1は非推奨なのか、安定版なのか
みたいな
問題かどうかは主にpythonのバージョンに依存するような・・
要は問答無用で1は非推奨なのか、安定版なのか
みたいな
2020/11/08(日) 16:06:24.64ID:YfDIKFy0
「自分の環境にとって許容範囲かどうか判断できるだろ」って意味じゃないの
だからどちらとも言う必要がない
だからどちらとも言う必要がない
2020/11/08(日) 16:39:49.54ID:dgqq6PlR
それはdjangoのほぼ全部の仕様把握してないと無理
2020/11/08(日) 22:38:23.93ID:FpP/Utr7
Django のバージョンが分からないのは、おかしい。
自分で使うバージョンを決めるものだから
Ruby on Rails なら、6 の本が有名著者で、6冊以上出ている。
黒田努、掌田津耶乃、パーフェクト・シリーズなど
それに、5・6 の違いをまとめた本も出ている。
だから、4 は相当古いと誰でも分かる
自分で使うバージョンを決めるものだから
Ruby on Rails なら、6 の本が有名著者で、6冊以上出ている。
黒田努、掌田津耶乃、パーフェクト・シリーズなど
それに、5・6 の違いをまとめた本も出ている。
だから、4 は相当古いと誰でも分かる
2020/11/09(月) 00:32:28.40ID:UETPDkkc
どうして急にRoRの話しだすの... こわいんだけど
802login:Penguin
2020/11/09(月) 02:02:44.37ID:llgGcWyv RoRの事しか知らないからだろ。
わかって無いけど会話に参加したい(デキる男感をアピールしたい)
初心者心理。
わかって無いけど会話に参加したい(デキる男感をアピールしたい)
初心者心理。
2020/11/09(月) 20:52:16.68ID:Kmn1m/pX
Dockerを仮想マシンのよう使う人って未だに居るんだな
2020/11/09(月) 22:29:49.19ID:mIHqbD7W
べつにいいでしょ
ツールが使い方を決めるんじゃなくて人が使い方を決めるんやで
ツールが使い方を決めるんじゃなくて人が使い方を決めるんやで
2020/11/09(月) 22:41:51.92ID:mwf5KB+q
仮想マシンのように使うって具体的にはどういうことなんだろ
806login:Penguin
2020/11/09(月) 23:23:36.46ID:Zesq5BDu Docker, Kubernetes は、immutable。
状態を持たない
すべて破棄してから、作るのが基本。
サイボウズのkintone では毎日、破棄してから作っている
AWS などを知らない香具師が、コンテナ内に状態を持とうとする。
クラウド・コンテナの機能の、区別ができない香具師
Cloud Native Computing Foundation(CNCF)の卒業プロジェクト、
Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd
他には、はてなのMackerel, DataDog, Elasticsearch などを、知らない香具師。
コンテナを仮想マシンのように使うなって、延々と言われているw
状態を持たない
すべて破棄してから、作るのが基本。
サイボウズのkintone では毎日、破棄してから作っている
AWS などを知らない香具師が、コンテナ内に状態を持とうとする。
クラウド・コンテナの機能の、区別ができない香具師
Cloud Native Computing Foundation(CNCF)の卒業プロジェクト、
Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd
他には、はてなのMackerel, DataDog, Elasticsearch などを、知らない香具師。
コンテナを仮想マシンのように使うなって、延々と言われているw
2020/11/09(月) 23:40:05.64ID:t6dOYJYt
と無職が申しております
2020/11/10(火) 02:11:20.23ID:VE0k1L0+
ググった単語を色々並べて、頑張ってるなw
散文詩みたいで意味がさっぱり通じないw
匿名掲示板でそんなに俺できるぜ感をアピールしたいの?なんで?
その心理がサッパリ分からないw
散文詩みたいで意味がさっぱり通じないw
匿名掲示板でそんなに俺できるぜ感をアピールしたいの?なんで?
その心理がサッパリ分からないw
2020/11/10(火) 02:22:13.72ID:kmSrn2NE
と言ってみた
810736
2020/11/10(火) 14:28:17.26ID:KAsBN9EE >>739
すいませんポート開くの忘れてただけだった
$ docker run -itd -v /root:/var/www/html [イメージID] bash
を
$ docker run -itd -v /root:/var/www/html -p 8000:8000 [イメージID] bash
とやればできた
が、今度はcgi-bin内にアクセスしようとするとダウンロードになってしまう
・cgi-binとcgi-bin/sample.pyのパーミッションを755
・sample.pyの一行目に#!/usr/bin/env python
・改行コードはLF
とやっても
PermissionError: [Errno 13] Permission denied: '/var/www/html/cgi-bin/sample.py'
が出てしまう
自分のホストPCでローカル環境なら大丈夫だった
あとplay with dockerでnginxを介した場合は大丈夫だった
すいませんポート開くの忘れてただけだった
$ docker run -itd -v /root:/var/www/html [イメージID] bash
を
$ docker run -itd -v /root:/var/www/html -p 8000:8000 [イメージID] bash
とやればできた
が、今度はcgi-bin内にアクセスしようとするとダウンロードになってしまう
・cgi-binとcgi-bin/sample.pyのパーミッションを755
・sample.pyの一行目に#!/usr/bin/env python
・改行コードはLF
とやっても
PermissionError: [Errno 13] Permission denied: '/var/www/html/cgi-bin/sample.py'
が出てしまう
自分のホストPCでローカル環境なら大丈夫だった
あとplay with dockerでnginxを介した場合は大丈夫だった
811login:Penguin
2020/11/10(火) 14:53:06.27ID:zR2u0HT2 香具師ってここ5年くらいで初めて見た気がする
812login:Penguin
2020/11/10(火) 15:01:50.33ID:VE0k1L0+ >>810
pythonのhttpdって誰の権限で動いてるんだろう?
(分からないけど)/root/cgi-bin/ (?)に対する権限を持っているのだろうか?
結局コンテナに入ってプロセスの実行者とディレクトリの権限を確認しないと分からない気がする。
pythonのhttpdって誰の権限で動いてるんだろう?
(分からないけど)/root/cgi-bin/ (?)に対する権限を持っているのだろうか?
結局コンテナに入ってプロセスの実行者とディレクトリの権限を確認しないと分からない気がする。
813736
2020/11/10(火) 18:07:34.85ID:KAsBN9EE >>812
/var/www/html/cgi-bin/sample.py
のvarもwwwもhtmlもcgi-binも
全部 chmod 755したら無事
ウェブからsample.py実行できた・・
権限許可はvar/www/htmlの下のcgi-bin以下だけでいいのかと思ってた
/var/www/html/cgi-bin/sample.py
のvarもwwwもhtmlもcgi-binも
全部 chmod 755したら無事
ウェブからsample.py実行できた・・
権限許可はvar/www/htmlの下のcgi-bin以下だけでいいのかと思ってた
2020/11/10(火) 23:49:00.42ID:CFyr5V3E
>>813
で、誰が動かしているのか理解して、0755にしたの?
で、誰が動かしているのか理解して、0755にしたの?
2020/11/12(木) 00:00:25.23ID:gGQuG0Gs
Docker compose stopでコンテナ止める時って結構時間掛かるのに
OSに対してシャットダウン掛けると即時停まるんだけど
これは本来保存されるべきデータが消えてる可能性ってある?
サービスかなんかでシャットダウン時に自動で何かデータを書き出すような処理入れるべきなのかな?
OSに対してシャットダウン掛けると即時停まるんだけど
これは本来保存されるべきデータが消えてる可能性ってある?
サービスかなんかでシャットダウン時に自動で何かデータを書き出すような処理入れるべきなのかな?
2020/11/12(木) 01:55:07.35ID:cmzexViL
そりゃタイミング悪けりゃ消えるよ
当たり前じゃん
当たり前じゃん
817login:Penguin
2020/11/12(木) 02:36:03.34ID:hi40oOUg >>815
>Docker compose stopでコンテナ止める時って結構時間掛かるのに
docker stopコマンドは10秒程度で止まるように優先度を掛けてくるから。
https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/
When you issue a docker stop command Docker will first ask nicely for the process to stop
and if it doesn't comply within 10 seconds it will forcibly kill it.
docker-compose stop --time=1 とかすれば、結構即時に近い形で止まるように見える。
動いてるコンテナの重要度は自分で把握しているだろうから、永続データ無いのなら
time=1で良いんじゃね?とはいえmysql postgresとかあるなら危ないだろうけど。
VM上で動かしたとしても、そんなに早くは落ちないだろうし。
>Docker compose stopでコンテナ止める時って結構時間掛かるのに
docker stopコマンドは10秒程度で止まるように優先度を掛けてくるから。
https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/
When you issue a docker stop command Docker will first ask nicely for the process to stop
and if it doesn't comply within 10 seconds it will forcibly kill it.
docker-compose stop --time=1 とかすれば、結構即時に近い形で止まるように見える。
動いてるコンテナの重要度は自分で把握しているだろうから、永続データ無いのなら
time=1で良いんじゃね?とはいえmysql postgresとかあるなら危ないだろうけど。
VM上で動かしたとしても、そんなに早くは落ちないだろうし。
2020/11/12(木) 04:08:50.18ID:tXLSOFMO
Dockerコンテナ内のcrontab -eで、デーモンのスケジュール再起動を任せたら、
oom Killerでホストが倒れてしまった。ホストにsshログインもできない状態に陥って大変あせった。データもっていかれるかと思ったが、再起動でなんとか復帰できた。
ホストは2GB程度だが、そのコンテナ内でこのデーモンは1G程度も消費する。
デーモンの再起動のタイミングで、メモリ溢れが発生したようだ。
そこで、ホストにおいて、docker restart コンテナとするようにした。
そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
oom Killerでホストが倒れてしまった。ホストにsshログインもできない状態に陥って大変あせった。データもっていかれるかと思ったが、再起動でなんとか復帰できた。
ホストは2GB程度だが、そのコンテナ内でこのデーモンは1G程度も消費する。
デーモンの再起動のタイミングで、メモリ溢れが発生したようだ。
そこで、ホストにおいて、docker restart コンテナとするようにした。
そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
819login:Penguin
2020/11/12(木) 04:11:53.86ID:tXLSOFMO >>811
香具師/野師/野士/弥四(やし)とは。
意味や解説、類語。盛り場・縁日・祭礼などに露店を出して商売したり、
見世物などの興行をしたりする人。
また、露天商の場所割りをし、世話をする人。
的屋 (てきや) 。 - goo国語辞書
香具師/野師/野士/弥四(やし)とは。
意味や解説、類語。盛り場・縁日・祭礼などに露店を出して商売したり、
見世物などの興行をしたりする人。
また、露天商の場所割りをし、世話をする人。
的屋 (てきや) 。 - goo国語辞書
2020/11/12(木) 05:51:20.27ID:wQ2Ny6Zh
そういうことじゃないから...
アスペムーブやめてほしい
アスペムーブやめてほしい
2020/11/12(木) 06:10:39.65ID:/yqD0qKX
>>818
コンテナ内で何のプロセス動かしてんの?
コンテナ内で何のプロセス動かしてんの?
2020/11/12(木) 08:42:14.46ID:tXLSOFMO
>>821
iaxmodemを複数個
iaxmodemを複数個
2020/11/12(木) 08:44:03.06ID:tXLSOFMO
2020/11/12(木) 09:54:41.95ID:nXT2xhvU
コンテナ内でのサービス再起動時にメモリが溢れるってのもよくわからんが、そのサービスの再起動の動作が特殊なのかね
再起動のための停止時には一時的にメモリ使うとか?
コンテナごと再起動するなら内部のサービスは通常の停止(あるいは強制停止?)+起動だろうから、メモリに問題ないのはまあわかる
どっちにしろdockerというよりサービス固有の事情に見える
再起動のための停止時には一時的にメモリ使うとか?
コンテナごと再起動するなら内部のサービスは通常の停止(あるいは強制停止?)+起動だろうから、メモリに問題ないのはまあわかる
どっちにしろdockerというよりサービス固有の事情に見える
2020/11/12(木) 14:22:14.87ID:tXLSOFMO
>>824
参考になります。
iaxmodemが始動されると、プロセスが生成されます。
その後、hylafaxを始動させて、
さらに別途faxgettyによって、両者を連結させるイメージです。(3者登場します。そのうち、iaxmodemと、faxgettyはたくさん。hylafaxとは、多対1の関係になっています。)
>>823のように、iaxmodemだけでは専有容量は僅かなんですが、
faxgettyさせると、膨れ上がります。
faxgettyは、hylafaxの関係者なので、
hylafaxがガーベージコレクトするようです。
以前テストした結果は、hylafaxの再起動時には、直ちにfaxgettyプロセスは消滅しました。
しかし、今回の環境ではそういう風にならなかったようです。
前回の環境はCentOS6でネイティブ、今回はCentOS7でコンテナです。
iaxmodemや、hylafaxのバージョンも上がっています。
いずれにしても、デーモンの再起動が特殊です。
逆に考えて、ネイティブ環境でも他の要因で同じ問題を引き起こすなら、
コンテナ環境であってよかったと思います。
docker restart faxContainerをcrontabでコンテナの外側ホストでスケジュールすれば良いのですから。
コンテナ内部でそういうデーモンの消滅のスケジュールを組むと、イメージ化されていることからタイミングの変更が困難になるので、
せっかくの利便性を損なうと思いました。
docker restart faxContainer は素晴らしいです。
参考になります。
iaxmodemが始動されると、プロセスが生成されます。
その後、hylafaxを始動させて、
さらに別途faxgettyによって、両者を連結させるイメージです。(3者登場します。そのうち、iaxmodemと、faxgettyはたくさん。hylafaxとは、多対1の関係になっています。)
>>823のように、iaxmodemだけでは専有容量は僅かなんですが、
faxgettyさせると、膨れ上がります。
faxgettyは、hylafaxの関係者なので、
hylafaxがガーベージコレクトするようです。
以前テストした結果は、hylafaxの再起動時には、直ちにfaxgettyプロセスは消滅しました。
しかし、今回の環境ではそういう風にならなかったようです。
前回の環境はCentOS6でネイティブ、今回はCentOS7でコンテナです。
iaxmodemや、hylafaxのバージョンも上がっています。
いずれにしても、デーモンの再起動が特殊です。
逆に考えて、ネイティブ環境でも他の要因で同じ問題を引き起こすなら、
コンテナ環境であってよかったと思います。
docker restart faxContainerをcrontabでコンテナの外側ホストでスケジュールすれば良いのですから。
コンテナ内部でそういうデーモンの消滅のスケジュールを組むと、イメージ化されていることからタイミングの変更が困難になるので、
せっかくの利便性を損なうと思いました。
docker restart faxContainer は素晴らしいです。
2020/11/12(木) 16:08:47.50ID:nXT2xhvU
俺はどちらかといえば「Dockerコンテナは仮想マシンじゃない」方の思想に近いから
コンテナごと再起動するのは普通というか自然だけど荒れるかな
そもそも個別ソフトの事情でメモリ食いすぎるなら、ホストでOOM起こすくらいならコンテナにリソース制限するのがいいのでは
コンテナごと再起動するのは普通というか自然だけど荒れるかな
そもそも個別ソフトの事情でメモリ食いすぎるなら、ホストでOOM起こすくらいならコンテナにリソース制限するのがいいのでは
2020/11/12(木) 16:15:03.39ID:0EFH8yv9
Linux上でchrootを仮想マシンと思うやつは、どうにかしている。
2020/11/12(木) 18:00:39.93ID:hi40oOUg
>>826
荒れるっていうか・・・・
その事に対してコダワリ持ってるのって一人だよね?
殆どの参加者は、そもそもどうでもいい話題で、そいつの書き込みに
反応するのは、そいつがなぜ、VMじゃないからどうのこうのと反発する
必要があるのか分からないから。
イスラム原理主義者に向かって暴力行為やめろよ。そもそも宗教なんて
どうだって良いだろ?と言うのと変わらない。
荒れるっていうか・・・・
その事に対してコダワリ持ってるのって一人だよね?
殆どの参加者は、そもそもどうでもいい話題で、そいつの書き込みに
反応するのは、そいつがなぜ、VMじゃないからどうのこうのと反発する
必要があるのか分からないから。
イスラム原理主義者に向かって暴力行為やめろよ。そもそも宗教なんて
どうだって良いだろ?と言うのと変わらない。
829login:Penguin
2020/11/12(木) 18:24:47.49ID:tXLSOFMO 0番の親プロセスから連鎖的に、必要な環境(ディストリ標準体系)を組みた立てていくということを、「仮想マシン」とよんでいるだけですよね。
それに対して、例えば、helloworldバイナリを実行するだけなのが、非「仮想マシン」ということですよね。
前者は、systemctlによるコントロールができて楽です。
また、アプリを構成するデーモンに依存関係がる場合はとても楽です。
しかし、後者はそういう構成を組むのに別途考慮が必要になるのでお手軽さがなくなり、せっかのコンテナがとっつきにくくなってしまいます。
こういう認識を持っているのです。
それに対して、例えば、helloworldバイナリを実行するだけなのが、非「仮想マシン」ということですよね。
前者は、systemctlによるコントロールができて楽です。
また、アプリを構成するデーモンに依存関係がる場合はとても楽です。
しかし、後者はそういう構成を組むのに別途考慮が必要になるのでお手軽さがなくなり、せっかのコンテナがとっつきにくくなってしまいます。
こういう認識を持っているのです。
830login:Penguin
2020/11/12(木) 18:51:28.32ID:tXLSOFMO >>829
必要な環境(ディストリ標準体系)と言いましたが、最初にcentos7をdocker ハブから引っ張ってきているので、標準体系にはならないですよね。
最初に何が入っているのか知らないけど、
docker run --privileged -d --net=mynetwork --name centos7 centos:centos7 /sbin/init
のようにすれば、いわゆる「仮想マシン」風の操作性のコンテナができます。
あとは、yumなどでパッケージを導入すれば、
systemctlで制御ができます。
--net=mynetwork に指定するネットワークは、自分で作成が必要になります。
LAN に対して、ポート開放もいらなくなります。
ipfilterで制御するだけです。
--net=ネットワーク名 を指定しないと、インターネットへの穴を開けてしまって危険。
ネットワークの知識がいるので、
これが唯一難しい点ではないかと思います。
必要な環境(ディストリ標準体系)と言いましたが、最初にcentos7をdocker ハブから引っ張ってきているので、標準体系にはならないですよね。
最初に何が入っているのか知らないけど、
docker run --privileged -d --net=mynetwork --name centos7 centos:centos7 /sbin/init
のようにすれば、いわゆる「仮想マシン」風の操作性のコンテナができます。
あとは、yumなどでパッケージを導入すれば、
systemctlで制御ができます。
--net=mynetwork に指定するネットワークは、自分で作成が必要になります。
LAN に対して、ポート開放もいらなくなります。
ipfilterで制御するだけです。
--net=ネットワーク名 を指定しないと、インターネットへの穴を開けてしまって危険。
ネットワークの知識がいるので、
これが唯一難しい点ではないかと思います。
2020/11/12(木) 19:18:56.59ID:p5fdQuX8
個々のコンテナの中でsystemd動かしてrsyslogdでログ出してlogroteteまてやるとか無駄の極み
動かすプロセスは複数でもいいけど必要なものだけ動かすのがdocker的な考え方だよ
systemctlに頼らず起動コマンドくらい自分で調べろ
そんなにsystemd入れてinitしたいならlxcを熱烈推奨
動かすプロセスは複数でもいいけど必要なものだけ動かすのがdocker的な考え方だよ
systemctlに頼らず起動コマンドくらい自分で調べろ
そんなにsystemd入れてinitしたいならlxcを熱烈推奨
832login:Penguin
2020/11/12(木) 19:35:45.36ID:N2n6jd6N コンテナ内でsupervisordとか動かすのはアンチパターン
2020/11/12(木) 19:50:21.89ID:DTFxiNCU
gitlabはマルチプロセスを採用してるが?
834login:Penguin
2020/11/12(木) 20:03:22.37ID:N2n6jd6N2020/11/12(木) 20:08:40.88ID:DTFxiNCU
>>834
つまりマルチプロセスなら手軽に使えるコンテナが作れるわけだよね
ということはコンテナ分割と利便性はトレードオフの関係なんだよ
このことを無視してごった煮はダメだアンチパターンだとわめき散らすのは典型的な解ってない人
つまりマルチプロセスなら手軽に使えるコンテナが作れるわけだよね
ということはコンテナ分割と利便性はトレードオフの関係なんだよ
このことを無視してごった煮はダメだアンチパターンだとわめき散らすのは典型的な解ってない人
836login:Penguin
2020/11/12(木) 20:11:24.65ID:N2n6jd6N837login:Penguin
2020/11/12(木) 20:13:51.62ID:dtymEtIL docker-composeで試せるものが
docker runで試せるようになったからって
そんな楽になったとは思えない
むしろ不便になってる件
docker runで試せるようになったからって
そんな楽になったとは思えない
むしろ不便になってる件
2020/11/12(木) 20:14:05.40ID:cTCSqjp+
ほれみろ。仮想マシンのような使い方をした結果
いつものように苦しんでるではないかw
いつものように苦しんでるではないかw
2020/11/12(木) 20:26:27.70ID:DTFxiNCU
>>836
カスタムはある程度は環境変数とかでできる
高度なカスタムが必要なら勝手に非公式で頑張れ
ほとんどの人は公式ので十分だ
オーケストレーターごとにマニフェストを用意しなきゃならんのは面倒だ
オーケストレーターを選択するのも負担になる
マルチプロセスならdocker runだけでOK
これ以上にかんたんなものはない
カスタムはある程度は環境変数とかでできる
高度なカスタムが必要なら勝手に非公式で頑張れ
ほとんどの人は公式ので十分だ
オーケストレーターごとにマニフェストを用意しなきゃならんのは面倒だ
オーケストレーターを選択するのも負担になる
マルチプロセスならdocker runだけでOK
これ以上にかんたんなものはない
2020/11/12(木) 20:28:05.87ID:DTFxiNCU
2020/11/12(木) 20:28:29.96ID:DTFxiNCU
2020/11/12(木) 20:37:41.89ID:cTCSqjp+
ここで仮想マシンのような使い方をしようとして
簡単に解決できない質問が出てるのが苦しんでる証拠
簡単に解決できない質問が出てるのが苦しんでる証拠
2020/11/12(木) 20:39:06.48ID:cTCSqjp+
2020/11/12(木) 20:39:52.51ID:Pa1Yyy7i
では分割コンテナでいいから質問者が求める構成を提示してみて
できないならそれはマルチプロセスコンテナが悪いのではなく単純に難しい構成だったというだけだな
1日待ってあげるからどうぞ
できないならそれはマルチプロセスコンテナが悪いのではなく単純に難しい構成だったというだけだな
1日待ってあげるからどうぞ
2020/11/12(木) 20:41:12.65ID:LqH7vHMd
2020/11/12(木) 20:46:12.26ID:cTCSqjp+
2020/11/12(木) 20:48:37.23ID:cTCSqjp+
>>845
docker-composeもdockerhubから勝手にpullしてくれるってことも知らんのか?
誰かが作ったdocker-compose.ymlをgitとかからpullするのが増えるだけやろ
docker-composeは、docker runだとたくさん引数を指定するのが
めんどくさいってのを解決してくれるものだ
docker runするだけ(引数がたくさんで辛いよぉ)←これを見なかったことにするな
docker-composeもdockerhubから勝手にpullしてくれるってことも知らんのか?
誰かが作ったdocker-compose.ymlをgitとかからpullするのが増えるだけやろ
docker-composeは、docker runだとたくさん引数を指定するのが
めんどくさいってのを解決してくれるものだ
docker runするだけ(引数がたくさんで辛いよぉ)←これを見なかったことにするな
2020/11/12(木) 20:50:19.50ID:LqH7vHMd
>>846
仮想マシンのようなとは?
仮想マシンのようなとは?
2020/11/12(木) 20:50:39.17ID:LqH7vHMd
>>847
docker composeはファイルが必要
docker composeはファイルが必要
2020/11/12(木) 20:51:25.98ID:cTCSqjp+
>>848
質問者が言ってるだろ
> 818 名前:login:Penguin[sage] 投稿日:2020/11/12(木) 04:08:50.18 ID:tXLSOFMO [1/7]
> Dockerコンテナ内のcrontab -eで、デーモンのスケジュール再起動を任せたら、
> oom Killerでホストが倒れてしまった。ホストにsshログインもできない状態に陥って大変あせった。データもっていかれるかと思ったが、再起動でなんとか復帰できた。
↑これが仮想マシンのような使い方
↓これが本来のDockerの使い方
> そこで、ホストにおいて、docker restart コンテナとするようにした。
> そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
質問者が言ってるだろ
> 818 名前:login:Penguin[sage] 投稿日:2020/11/12(木) 04:08:50.18 ID:tXLSOFMO [1/7]
> Dockerコンテナ内のcrontab -eで、デーモンのスケジュール再起動を任せたら、
> oom Killerでホストが倒れてしまった。ホストにsshログインもできない状態に陥って大変あせった。データもっていかれるかと思ったが、再起動でなんとか復帰できた。
↑これが仮想マシンのような使い方
↓これが本来のDockerの使い方
> そこで、ホストにおいて、docker restart コンテナとするようにした。
> そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
2020/11/12(木) 20:52:43.41ID:cTCSqjp+
>>849
ファイルをコピーするのが難しいって話をしてんの?w
docker runで引数をたくさん指定するのと、その引数がファイルに全部書かれてるから
docker-composeするだけで起動できるのと、どっちが簡単ですかって話なんだが
ファイルをコピーするのが難しいって話をしてんの?w
docker runで引数をたくさん指定するのと、その引数がファイルに全部書かれてるから
docker-composeするだけで起動できるのと、どっちが簡単ですかって話なんだが
852login:Penguin
2020/11/12(木) 21:14:01.17ID:N2n6jd6N docker-composeも使えない男の人って…
2020/11/12(木) 21:25:45.69ID:cXD8oKci
Linuxでdocker使ってるんですけど
volumeマウントするとホスト上のroot権限のディレクトリができるのですが
対策ありますか?
nginxです
volumeマウントするとホスト上のroot権限のディレクトリができるのですが
対策ありますか?
nginxです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】 トランプ米大統領、日米首脳会談で高市首相に円安の懸念を伝える [お断り★]
- 【ナフサ】カルビー代表、モノクロパッケージ巡り漫画家らに感謝「生まれたのは、私たちの想像を超える『彩り』でした」 [少考さん★]
- なぜ東大・一橋・早慶卒はコンサル業界に殺到するのか [首都圏の虎★]
- 【アジア大会】「外国人の尊厳を考えて」 中国選手の名前 TBS実況に違和感 呉夢潔を『ゴ・ムケツ』、陳厚羽を『チン・コウウ』呼び★2 [冬月記者★]
- “永住したい東京・多摩地域の市町村”ランキング上位に「地盤も固く水害にも強い」「15歳未満の人口が増えてます!」の声 [首都圏の虎★]
- 「保守vs.リベラル」「ワクチン推進派vs.ワクチン懐疑派」 対立する両陣営は、なぜまったく同じ論法で相手を罵る(新潮選書) [少考さん★]
- 片山財務大臣「トランプ大統領から円安への懸念が示されました」 [668024367]
- 【悲報】直美、ガチで急増してしまうwwwwwwwwwwwwwwwwww [398059782]
- 【高市悲報】トランプ、そもそも政治家に「ドナルド」と呼ばれるのが大嫌いだった…😨👉🦎 [359965264]
- 【悲報】高市早苗の敵国条項削除発言、自民党内からも苦言 [834922174]
- 高市首相、まんまと中国の罠にハマり戦後日本の努力を水の泡にすることに成功してしまう… [668024367]
- 2000年前の日本人が描いた絵、わかる暮らし [237216734]