[過去ログ] Docker Part4 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
749: 2020/11/06(金)11:13 ID:Pu2vwu4g(2/2) AAS
自分が使ったことない物をめずらしいって言ってるだけだろうから無視していいよ
750: 2020/11/06(金)11:48 ID:4r/vlmbk(2/3) AAS
>>747
だから世間がいつまでに置き換わるか言ってみ
当たるか当たらなかいかじゃなくて、お前がどれだけ
自分の説に自信と信念を持ってるかを判断してるんだよ

それとDockerはrktに置き換わるんじゃなかったっけ?w
751: 2020/11/06(金)12:13 ID:CC12inH7(1) AAS
この粘着性はどうやったら育めるんだろうな
752: 2020/11/06(金)17:04 AAS
pylay with dockerでdjango+mysqlいけたけど
ロケットのおなじみの画面が表示されなくてALLOWED_HOST=['*']にすればいけた
あとchromeだとhttp://が弾かれることに気づかず(表示できたりできなかったりするので)めちゃくちゃハマった糞が
753
(1): 2020/11/06(金)17:16 ID:rIUKx7DZ(1) AAS
>>731
知識は役に立たないけど、経験は役に立つということなんだろうな。
Dockerコンテナ作れるから、もう安心ということにはならないな。
また、別の新しい技術が登場する。
前の知識は役に立たない。
役に立つのは、試行錯誤や理解に必要な経験だなあ。
こういうのを結晶化なんとかというのだろう。

表面的な知識は異なれども、それを成り立たせる思想には共通するものがある。

こう考えると、特定のアプリ技術に関する資格なんて無意味だな。

IPとか、低レベルの技術はなかなか変容しないから、そのあたりの資格はあっても良いと思う。
754: 2020/11/06(金)17:51 ID:p0uOIOHq(2/2) AAS
Podmanx 2 Dr.ワイリーの謎
755: 2020/11/06(金)19:45 ID:4r/vlmbk(3/3) AAS
>>753
代替ツールを流行っても居ないのに、これからはこれ!とか
言ってる奴は大概、役に立たない知識で終わっちゃうよね
ツールの使い方じゃなくて、考え方を理解してる人は、
後からでもすぐに理解できるから、焦って未熟な段階で使う必要がない
ノウハウがたまってバグがあらかた解決してからでも遅くないし
756: 2020/11/06(金)23:52 ID:P7wMRRj0(6/6) AAS
Docker, Docker Compose は、本番では使えないから、
最も重要なものは、AWS, Kubernetes

Linux 財団のCloud Native Computing Foundation(CNCF)の卒業プロジェクトも。
Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd
757: 2020/11/07(土)00:16 ID:eBGWX6aX(1/2) AAS
本番でも使えるが?
758: 2020/11/07(土)01:25 ID:2ambohnb(1) AAS
dockerの入門書にk8sも記述されていることもあるけど
k8s使う場合って複数サーバが必要になりますよね?
759: 2020/11/07(土)02:05 ID:A9UbMMtV(1) AAS
そらそうよ。
760: 2020/11/07(土)08:23 ID:eBGWX6aX(2/2) AAS
1台でもいいよ
761
(1): 2020/11/07(土)09:04 ID:ulFlM/B0(1/3) AAS
k8sって重過ぎじゃね?
特にetcdが

minikubeも色々入れたらすぐ遅くなった

k3sだと小さなサーバー1台でも使える、データベースにsqliteとか他のも使えるらしいが
デメリットある?

sqliteはHAに対応してない
dqliteはsqliteの分散版で、HAに対応してるが実験的
と言うのは知ってる

外部リンク:rancher.com
762: 2020/11/07(土)09:41 ID:8zmwVowU(1) AAS
>>761
そのとおり。VMインスタンスで最小スペックだとメモリ4GBほどだが
k8sはそのうち1GBほどかっさらっていく
最小スペックのマシンは実質使い物にならなくなる
763: 2020/11/07(土)11:00 ID:ulFlM/B0(2/3) AAS
k3sはdqliteじゃなくてembedded etcdになるらしい
それって軽いの?
764: 2020/11/07(土)11:18 ID:VOHFkWyI(1) AAS
重いのはスペックが足りないからやー!
765
(1): 2020/11/07(土)17:29 ID:XStoOlkj(1) AAS
k8sもメモリ食い過ぎだが、fluentdも酷い
たかがCPUとかメモリ使用率を取得するだけで数百MBもメモリを使用する
Ruby製なのが原因か知らんがC言語で作っていれば10MB程度しか食わないだろう
766: 2020/11/07(土)18:19 ID:tGPIOgJu(1) AAS
fluentd_v1.11使っているが2週間くらいでElasticにデータ渡さなくなる症状に悩まされているよ
docker-compose restartを定期期にする必要がある
767: 2020/11/07(土)18:38 ID:ulFlM/B0(3/3) AAS
>>765
そんなあなたにfluentbit
768: 2020/11/07(土)18:53 ID:E4RaZBn4(1/2) AAS
k8sとかが、いったい何をしてくれるのか全然わからない。
全然わからないから、使う気にもなれない。
概要を読んでみても、まるで遠い話をしているみたいに聞こえて、必要性を感じられない。

だから、自分は素のままでDockerコンテナ使ってますよ。

何か一つこんなことができるよ的なことってないですかね。
769: 2020/11/07(土)20:07 ID:AnDT9/b7(1) AAS
クラスタ組まないならcomposeでおk
クラスタ組む場合も自前ならswarmのほうが何かとお手軽で安定してる
composeもほとんどそのまま流用できる
AWSなんかはcomposeにも対応してるから今は無理してk8sを使う必要はない
770
(4): 2020/11/07(土)22:47 ID:3X/BADbo(1) AAS
k8s は、Auto Scale, Rolling Update, blue/green deployment
データセンター分離・ラック分離、多数決で意思決定

可用性・スケールアウトとか、全体の安全性が高い

Terraform も良い
771: 2020/11/07(土)23:57 ID:E4RaZBn4(2/2) AAS
>>770
やっぱり、遠い話、雲の上の話
ぜんぜんぴんとこない
772
(4): 2020/11/08(日)00:25 ID:indWRCUE(1) AAS
docker環境で開発をしている人に質問なのですが
本番環境は別にdockerfile(もしくはdocker-compose.yml)を作っていますか?

本番環境ではソースコードをイメージの中に入れたいのですが
開発環境ではソースコードはホスト側に置いて、マウントしたいです
(開発中に1行書き換える度にイメージ作り直す訳にいかんし)

とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして、一般的にはどうしているのかを知りたいです
773: 2020/11/08(日)00:39 ID:E0Efq9ms(1/3) AAS
動画配信サイトとか高負荷かつ安定稼働を求められるシステムなら採用する価値はあるかもね
でもなんとなくK8S使ってみたかった程度の気持ちで無意味に使ってる人も多い
774: 2020/11/08(日)00:40 ID:zneumWca(1/4) AAS
>>772
開発と言っても「実機と同等の構成で動かしてみる」というのも含まれるけど
一般にソースコードを修正してデバッグしてみたいな開発作業中は
Dockerを使わないよ

今はWindowsでもWSLがあるし、Dockerを使わないで開発やテストができる
いちいちDockerの中に開発ツール(ビルドツールやらlintツールやや)
入れなくていいから一番快適だしね。

その上で開発プロセスの一環として実機に近い環境で
テストしたいときはDockerを使う
775: 2020/11/08(日)00:40 ID:E0Efq9ms(2/3) AAS
>>772
テストはイメージ作ってやるから問題ないよ
776: 2020/11/08(日)00:43 ID:zneumWca(2/4) AAS
K8Sは金がふんだんに有り余ってるようなところが使うようなイメージ
金を使って広大なK8S用クラスタを組んで、必要になったらコンテナ起動するけど
普段はクラスタの中に空きがあって、その部分にも金がかかってる
それでもOKな所が使ってる

それともK8Sを使ってコストを最小化するような話聞いたことある?
777
(1): 2020/11/08(日)00:46 ID:mgGpxjW7(1/2) AAS
>>772
Dockerfileは同一で、開発時はソースコードをADDしてるディレクトリに、バインドマウントしてあげるだけで良いのでは。
778
(1): 2020/11/08(日)00:50 ID:zneumWca(3/4) AAS
>>777
そう簡単な話ではない。開発用イメージには、運用用イメージに加えて
開発用のツールやライブラリを含めなければいけない
779: 2020/11/08(日)00:54 ID:zneumWca(4/4) AAS
どちらにしろ、開発用イメージはそのまま運用で使うことはできない
これが大前提。だから別々に作らなければいけないが
それするぐらいなら開発にはDockerを使わないほうがいい

使用する言語のバージョンやライブラリを統一するのは
Dockerを使わずともできる
780: 2020/11/08(日)00:58 ID:mgGpxjW7(2/2) AAS
>>778
うん、そういうケースがあるのは分かるけど、ライトなWeb開発とかだとこれで必要十分なことも多いよね。
あとは商用向けはマルチステージビルドで成果物だけ持ってくるとかできるし。
781: 2020/11/08(日)01:16 ID:E0Efq9ms(3/3) AAS
開発者の裁量で好きなように開発すればいい
テストさえしっかりしてれば何も問題はない
しかし好きにしろとは言ってもプロジェクトとして推奨構成をas codeで提示したほうが親切だろうな
ならDockerfileとdocker-compose.ymlが最も手軽だろう
782: 2020/11/08(日)03:08 ID:kMpY44Ng(1/4) AAS
>>772
>本番環境は別にdockerfile(もしくはdocker-compose.yml)を作っていますか?

別です。
開発環境のDockerは本番機よりもっと簡略化されている
サーバー証明書もオレオレ。
あくまでも、うちのケースの話ね。

>本番環境ではソースコードをイメージの中に入れたいのですが
>開発環境ではソースコードはホスト側に置いて、マウントしたいです

それで良いんじゃないの?
開発環境はdocker-compose.override.ymlで開発担当部分のみvolumesで上書きとか。

>とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして..

何故、開発機の次が本番機なのさw?
テスティングやステージングは?問題があるなら、そこでわかるでしょう。
783: 770 2020/11/08(日)03:09 ID:FpP/Utr7(1/4) AAS
k8s は、マスターは多数決で決めるから、分散数は奇数にして、3, 5, 7 個

ラックの電源断に備えて、ラックも別々。
データセンターの災害に備えて、データセンターも別々

こんな安全性を考えるのは、大企業
784: 2020/11/08(日)03:12 ID:Xb0LuSe/(1) AAS
多数決ってなに?
する意味あるの?
785: 770 2020/11/08(日)03:38 ID:FpP/Utr7(2/4) AAS
Ruby on Rails の場合は、Heroku, Cloud9 が最短。
git push するだけで、デプロイ完了!

他には、CircleCI, Capistrano
Chef, CookPad 製のItamae

Terraform
786
(1): 770 2020/11/08(日)03:52 ID:FpP/Utr7(3/4) AAS
ネットワーク分断の場合に、
どれがマスターに格上げされるかを、多数決で決める

多数決には過半数が必要だから、ミニマムで、2:1。
だから分散数は、3, 5, 7 個と奇数にしておく

2個は、1:1 になるから、過半数を取れない。
4個でも、1:3 なら過半数を取れるが、2:2 になったら過半数を取れない

Raft という分散合意システムで、HashiCorp のConsul でも使っている
787: 2020/11/08(日)07:46 ID:kMpY44Ng(2/4) AAS
そろそろスレチと言う気がしてきたな。
k8sの話したいのなら、航海1日目に行けよ。
788: 2020/11/08(日)09:26 ID:Om5NOQR8(1) AAS
Kubernetes 航海1日目
2chスレ:linux

超過疎スレなので来てやってください
789
(1): 2020/11/08(日)10:37 ID:YS1Huprs(1) AAS
>>786
奇数から1台死んだら偶数になって多数決で分断が起こるのでは?
790
(1): 2020/11/08(日)11:34 AAS
docker pull django:latestってやるとバージョンが1なんですけど
古くないですか?
791: 2020/11/08(日)11:51 ID:kMpY44Ng(3/4) AAS
>>789
多数決と言っているのはクラスタを構成するノードに対する比率を言っているのでは?
3ノード構成で2ノード生きているなら継続するよ、と。
あと分断耐性で言っているのはネットワークなので必ずしもノードが死んでいるとは限らない様な気がする。
クライアントからノード1、2には到達できるけど、3に到達する為のルーターが障害とかね。
792
(1): 2020/11/08(日)12:06 ID:3zTOdQJY(1) AAS
>>790
「古い」と答えてほしいのか?
793
(1): 2020/11/08(日)12:31 AAS
>>792
いえ、どうして2でもなく3でもないのかな、と。
これならdockerhubからよりもベースpythonでpipしないといけないような
794: 2020/11/08(日)12:49 ID:kMpY44Ng(4/4) AAS
>>793
django2とか3とをpullすりゃ良いんじゃね?
外部リンク:hub.docker.com
DEPRECATED と大書きているだろうが。
795: 2020/11/08(日)14:49 AAS
はい非推奨は知っていたのですが
オフィシャルイメージかつcopy and paste to pull this imageのプリントがそのままなので
他の方法やバージョン1でも問題がないのかと思っていました
796: 2020/11/08(日)15:10 ID:2UugK007(1) AAS
非推奨と書いてあるのが読めて最終更新日からどれだけメンテナンスされてないか確認できたら
問題ないかどうか判断できるよね
797: 2020/11/08(日)15:25 AAS
その判断の仕方だとどちらにも取れるのでは
問題かどうかは主にpythonのバージョンに依存するような・・
要は問答無用で1は非推奨なのか、安定版なのか
みたいな
798: 2020/11/08(日)16:06 ID:YfDIKFy0(1) AAS
「自分の環境にとって許容範囲かどうか判断できるだろ」って意味じゃないの
だからどちらとも言う必要がない
799: 2020/11/08(日)16:39 ID:dgqq6PlR(1) AAS
それはdjangoのほぼ全部の仕様把握してないと無理
800: 2020/11/08(日)22:38 ID:FpP/Utr7(4/4) AAS
Django のバージョンが分からないのは、おかしい。
自分で使うバージョンを決めるものだから

Ruby on Rails なら、6 の本が有名著者で、6冊以上出ている。
黒田努、掌田津耶乃、パーフェクト・シリーズなど

それに、5・6 の違いをまとめた本も出ている。
だから、4 は相当古いと誰でも分かる
801: 2020/11/09(月)00:32 ID:UETPDkkc(1) AAS
どうして急にRoRの話しだすの... こわいんだけど
802: 2020/11/09(月)02:02 ID:llgGcWyv(1) AAS
RoRの事しか知らないからだろ。
わかって無いけど会話に参加したい(デキる男感をアピールしたい)
初心者心理。
803: 2020/11/09(月)20:52 ID:Kmn1m/pX(1) AAS
Dockerを仮想マシンのよう使う人って未だに居るんだな
804: 2020/11/09(月)22:29 ID:mIHqbD7W(1) AAS
べつにいいでしょ
ツールが使い方を決めるんじゃなくて人が使い方を決めるんやで
805: 2020/11/09(月)22:41 ID:mwf5KB+q(1) AAS
仮想マシンのように使うって具体的にはどういうことなんだろ
806: 2020/11/09(月)23:23 ID:Zesq5BDu(1) AAS
Docker, Kubernetes は、immutable。
状態を持たない

すべて破棄してから、作るのが基本。
サイボウズのkintone では毎日、破棄してから作っている

AWS などを知らない香具師が、コンテナ内に状態を持とうとする。
クラウド・コンテナの機能の、区別ができない香具師

Cloud Native Computing Foundation(CNCF)の卒業プロジェクト、
Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd

他には、はてなのMackerel, DataDog, Elasticsearch などを、知らない香具師。
コンテナを仮想マシンのように使うなって、延々と言われているw
807: 2020/11/09(月)23:40 ID:t6dOYJYt(1) AAS
と無職が申しております
808: 2020/11/10(火)02:11 ID:VE0k1L0+(1/2) AAS
ググった単語を色々並べて、頑張ってるなw
散文詩みたいで意味がさっぱり通じないw

匿名掲示板でそんなに俺できるぜ感をアピールしたいの?なんで?
その心理がサッパリ分からないw
809: 2020/11/10(火)02:22 ID:kmSrn2NE(1) AAS
と言ってみた
810
(1): 736 2020/11/10(火)14:28 ID:KAsBN9EE(1/2) AAS
>>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を介した場合は大丈夫だった
811
(1): 2020/11/10(火)14:53 ID:zR2u0HT2(1) AAS
香具師ってここ5年くらいで初めて見た気がする
812
(1): 2020/11/10(火)15:01 ID:VE0k1L0+(2/2) AAS
>>810
pythonのhttpdって誰の権限で動いてるんだろう?
(分からないけど)/root/cgi-bin/ (?)に対する権限を持っているのだろうか?
結局コンテナに入ってプロセスの実行者とディレクトリの権限を確認しないと分からない気がする。
813
(1): 736 2020/11/10(火)18:07 ID:KAsBN9EE(2/2) AAS
>>812
/var/www/html/cgi-bin/sample.py
のvarもwwwもhtmlもcgi-binも
全部 chmod 755したら無事
ウェブからsample.py実行できた・・
権限許可はvar/www/htmlの下のcgi-bin以下だけでいいのかと思ってた
814: 2020/11/10(火)23:49 ID:CFyr5V3E(1) AAS
>>813
で、誰が動かしているのか理解して、0755にしたの?
815
(1): 2020/11/12(木)00:00 ID:gGQuG0Gs(1) AAS
Docker compose stopでコンテナ止める時って結構時間掛かるのに
OSに対してシャットダウン掛けると即時停まるんだけど
これは本来保存されるべきデータが消えてる可能性ってある?
サービスかなんかでシャットダウン時に自動で何かデータを書き出すような処理入れるべきなのかな?
816: 2020/11/12(木)01:55 ID:cmzexViL(1) AAS
そりゃタイミング悪けりゃ消えるよ
当たり前じゃん
817: 2020/11/12(木)02:36 ID:hi40oOUg(1/3) AAS
>>815
>Docker compose stopでコンテナ止める時って結構時間掛かるのに

docker stopコマンドは10秒程度で止まるように優先度を掛けてくるから。

外部リンク:www.ctl.io

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上で動かしたとしても、そんなに早くは落ちないだろうし。
818
(2): 2020/11/12(木)04:08 ID:tXLSOFMO(1/7) AAS
Dockerコンテナ内のcrontab -eで、デーモンのスケジュール再起動を任せたら、
oom Killerでホストが倒れてしまった。ホストにsshログインもできない状態に陥って大変あせった。データもっていかれるかと思ったが、再起動でなんとか復帰できた。

ホストは2GB程度だが、そのコンテナ内でこのデーモンは1G程度も消費する。
デーモンの再起動のタイミングで、メモリ溢れが発生したようだ。

そこで、ホストにおいて、docker restart コンテナとするようにした。
そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
819: 2020/11/12(木)04:11 ID:tXLSOFMO(2/7) AAS
>>811
香具師/野師/野士/弥四(やし)とは。
意味や解説、類語。盛り場・縁日・祭礼などに露店を出して商売したり、
見世物などの興行をしたりする人。
また、露天商の場所割りをし、世話をする人。
的屋 (てきや) 。 - goo国語辞書
820: 2020/11/12(木)05:51 ID:wQ2Ny6Zh(1) AAS
そういうことじゃないから...
アスペムーブやめてほしい
821
(1): 2020/11/12(木)06:10 ID:/yqD0qKX(1) AAS
>>818
コンテナ内で何のプロセス動かしてんの?
822
(1): 2020/11/12(木)08:42 ID:tXLSOFMO(3/7) AAS
>>821
iaxmodemを複数個
823
(1): 2020/11/12(木)08:44 ID:tXLSOFMO(4/7) AAS
>>822
iaxmodemだけなら小さい消費だが、
それらをfaxgettyさせてhylafaxに接続すると、
5倍くらいに膨れ上がった。
824
(1): 2020/11/12(木)09:54 ID:nXT2xhvU(1/2) AAS
コンテナ内でのサービス再起動時にメモリが溢れるってのもよくわからんが、そのサービスの再起動の動作が特殊なのかね
再起動のための停止時には一時的にメモリ使うとか?

コンテナごと再起動するなら内部のサービスは通常の停止(あるいは強制停止?)+起動だろうから、メモリに問題ないのはまあわかる

どっちにしろdockerというよりサービス固有の事情に見える
825: 2020/11/12(木)14:22 ID:tXLSOFMO(5/7) AAS
>>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 は素晴らしいです。
826
(1): 2020/11/12(木)16:08 ID:nXT2xhvU(2/2) AAS
俺はどちらかといえば「Dockerコンテナは仮想マシンじゃない」方の思想に近いから
コンテナごと再起動するのは普通というか自然だけど荒れるかな

そもそも個別ソフトの事情でメモリ食いすぎるなら、ホストでOOM起こすくらいならコンテナにリソース制限するのがいいのでは
827: 2020/11/12(木)16:15 ID:0EFH8yv9(1) AAS
Linux上でchrootを仮想マシンと思うやつは、どうにかしている。
828: 2020/11/12(木)18:00 ID:hi40oOUg(2/3) AAS
>>826
荒れるっていうか・・・・
その事に対してコダワリ持ってるのって一人だよね?

殆どの参加者は、そもそもどうでもいい話題で、そいつの書き込みに
反応するのは、そいつがなぜ、VMじゃないからどうのこうのと反発する
必要があるのか分からないから。

イスラム原理主義者に向かって暴力行為やめろよ。そもそも宗教なんて
どうだって良いだろ?と言うのと変わらない。
829
(1): 2020/11/12(木)18:24 ID:tXLSOFMO(6/7) AAS
0番の親プロセスから連鎖的に、必要な環境(ディストリ標準体系)を組みた立てていくということを、「仮想マシン」とよんでいるだけですよね。
それに対して、例えば、helloworldバイナリを実行するだけなのが、非「仮想マシン」ということですよね。

前者は、systemctlによるコントロールができて楽です。
また、アプリを構成するデーモンに依存関係がる場合はとても楽です。

しかし、後者はそういう構成を組むのに別途考慮が必要になるのでお手軽さがなくなり、せっかのコンテナがとっつきにくくなってしまいます。

こういう認識を持っているのです。
830: 2020/11/12(木)18:51 ID:tXLSOFMO(7/7) AAS
>>829
必要な環境(ディストリ標準体系)と言いましたが、最初にcentos7をdocker ハブから引っ張ってきているので、標準体系にはならないですよね。

最初に何が入っているのか知らないけど、

docker run --privileged -d --net=mynetwork --name centos7 centos:centos7 /sbin/init

のようにすれば、いわゆる「仮想マシン」風の操作性のコンテナができます。

あとは、yumなどでパッケージを導入すれば、
systemctlで制御ができます。

--net=mynetwork に指定するネットワークは、自分で作成が必要になります。
LAN に対して、ポート開放もいらなくなります。
ipfilterで制御するだけです。

--net=ネットワーク名 を指定しないと、インターネットへの穴を開けてしまって危険。

ネットワークの知識がいるので、
これが唯一難しい点ではないかと思います。
831: 2020/11/12(木)19:18 ID:p5fdQuX8(1) AAS
個々のコンテナの中でsystemd動かしてrsyslogdでログ出してlogroteteまてやるとか無駄の極み
動かすプロセスは複数でもいいけど必要なものだけ動かすのがdocker的な考え方だよ
systemctlに頼らず起動コマンドくらい自分で調べろ

そんなにsystemd入れてinitしたいならlxcを熱烈推奨
832: 2020/11/12(木)19:35 ID:N2n6jd6N(1/4) AAS
コンテナ内でsupervisordとか動かすのはアンチパターン
833
(1): 2020/11/12(木)19:50 ID:DTFxiNCU(1/5) AAS
gitlabはマルチプロセスを採用してるが?
834
(1): 2020/11/12(木)20:03 ID:N2n6jd6N(2/4) AAS
>>833
ごった煮版は手軽に試したい人向けだろ

まともに使いたい人はhelmチャート版か
よそのDockerイメージ使えって事だろう
835
(1): 2020/11/12(木)20:08 ID:DTFxiNCU(2/5) AAS
>>834
つまりマルチプロセスなら手軽に使えるコンテナが作れるわけだよね
ということはコンテナ分割と利便性はトレードオフの関係なんだよ
このことを無視してごった煮はダメだアンチパターンだとわめき散らすのは典型的な解ってない人
836
(1): 2020/11/12(木)20:11 ID:N2n6jd6N(3/4) AAS
>>835
helmチャートとかdocker-compose.ymlで配布してくれた方がカスタムしやすい。

ログやCPU使用率も各コンテナで分かれるので見やすい
よって利便性も複数コンテナの方が上
837
(1): 2020/11/12(木)20:13 ID:dtymEtIL(1) AAS
docker-composeで試せるものが
docker runで試せるようになったからって
そんな楽になったとは思えない
むしろ不便になってる件
838
(1): 2020/11/12(木)20:14 ID:cTCSqjp+(1/7) AAS
ほれみろ。仮想マシンのような使い方をした結果

いつものように苦しんでるではないかw
839: 2020/11/12(木)20:26 ID:DTFxiNCU(3/5) AAS
>>836
カスタムはある程度は環境変数とかでできる
高度なカスタムが必要なら勝手に非公式で頑張れ
ほとんどの人は公式ので十分だ

オーケストレーターごとにマニフェストを用意しなきゃならんのは面倒だ
オーケストレーターを選択するのも負担になる
マルチプロセスならdocker runだけでOK
これ以上にかんたんなものはない
840
(1): 2020/11/12(木)20:28 ID:DTFxiNCU(4/5) AAS
>>837
コンポーズだとファイルが必要だし内容の理解も必要
docker runはファイル不要で面倒なことは考えなくていい
これ以上楽なことはない
841: 2020/11/12(木)20:28 ID:DTFxiNCU(5/5) AAS
>>838
苦しまない
むしろ楽になってる
842: 2020/11/12(木)20:37 ID:cTCSqjp+(2/7) AAS
ここで仮想マシンのような使い方をしようとして
簡単に解決できない質問が出てるのが苦しんでる証拠
843
(1): 2020/11/12(木)20:39 ID:cTCSqjp+(3/7) AAS
>>840
Dockerfileでたくさん面倒なことしてるだろ

docker-composeはyamlファイルを持ってくるだけ
Dockerfileと違って中身を理解する必要がない!(笑)
844
(1): 2020/11/12(木)20:39 ID:Pa1Yyy7i(1) AAS
では分割コンテナでいいから質問者が求める構成を提示してみて
できないならそれはマルチプロセスコンテナが悪いのではなく単純に難しい構成だったというだけだな
1日待ってあげるからどうぞ
845
(1): 2020/11/12(木)20:41 ID:LqH7vHMd(1/3) AAS
>>843
gitlabはdockerhubからpullするだけで使えるということも知らんのか
dockerfileなんか書かんよ
846
(1): 2020/11/12(木)20:46 ID:cTCSqjp+(4/7) AAS
>>844
論点がずれてる

単一であっても分割であっても
仮想マシンのような使い方をするのが間違ってると言ってる
847
(1): 2020/11/12(木)20:48 ID:cTCSqjp+(5/7) AAS
>>845
docker-composeもdockerhubから勝手にpullしてくれるってことも知らんのか?
誰かが作ったdocker-compose.ymlをgitとかからpullするのが増えるだけやろ

docker-composeは、docker runだとたくさん引数を指定するのが
めんどくさいってのを解決してくれるものだ

docker runするだけ(引数がたくさんで辛いよぉ)←これを見なかったことにするな
848
(1): 2020/11/12(木)20:50 ID:LqH7vHMd(2/3) AAS
>>846
仮想マシンのようなとは?
849
(1): 2020/11/12(木)20:50 ID:LqH7vHMd(3/3) AAS
>>847
docker composeはファイルが必要
850: 2020/11/12(木)20:51 ID:cTCSqjp+(6/7) AAS
>>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 コンテナとするようにした。
> そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
851: 2020/11/12(木)20:52 ID:cTCSqjp+(7/7) AAS
>>849
ファイルをコピーするのが難しいって話をしてんの?w

docker runで引数をたくさん指定するのと、その引数がファイルに全部書かれてるから
docker-composeするだけで起動できるのと、どっちが簡単ですかって話なんだが
852: 2020/11/12(木)21:14 ID:N2n6jd6N(4/4) AAS
docker-composeも使えない男の人って…
853: 2020/11/12(木)21:25 ID:cXD8oKci(1) AAS
Linuxでdocker使ってるんですけど
volumeマウントするとホスト上のroot権限のディレクトリができるのですが
対策ありますか?
nginxです
854
(1): 2020/11/12(木)21:33 ID:hi40oOUg(3/3) AAS
>>818
そのものズバリの「?oom-kill-disable」なんつーオプションがあるらしいね。

外部リンク:knowledge.sakura.ad.jp

--memory=1024mb

コンテナにこの辺掛けたらどうなるか、興味深いところ。
ホストが死ぬなんてことはなくなるのでは。
855
(6): 2020/11/12(木)22:10 ID:e1or7GM2(1) AAS
また、仮想マシン厨が出てきたw

Docker, Kubernetes は、immutable だから、状態を持ってはいけない。
サイボウズのkintone なんか毎日、破棄して作ってる

Heroku 相当のPaaS、AWS Elastic Beanstalk のRuby, Docker などの基本。
OOM killer も、k8s の基本

そもそも、k8sのetcd は、OS の/etc の事
856: 2020/11/12(木)22:30 ID:v1fNQw7L(1) AAS
>>854
oom killerせず、スワップも貧弱なら、
oom-kill-disableすれば、「盾と鉾」の話になりそうですね。

いろいろと興味深いオプションありますね。
857: 2020/11/13(金)00:20 ID:QYcW1wHt(1) AAS
>>855
OOM killer も、k8s の基本 って
どういうことだろう?
858: 2020/11/13(金)00:53 ID:hfd1VDyW(1) AAS
OOM killer を無効にしてメモリが足りなくなったら
メモリが足りなくなったプロセスが落ちるだけの話
一般的には今まさに動いてるプロセスになるだろう
859: 855 2020/11/13(金)01:07 ID:11LMJbR5(1/3) AAS
k8s のLimitRange で、各Pod のCPU, メモリの使用量を制限すると、
PodがOOM killed される

それで、Pod数が足りなくなるから、また再作成されて、また終了させられる
860: 855 2020/11/13(金)01:13 ID:11LMJbR5(2/3) AAS
だから、仮想マシン厨がやってる事は、
OS の機能を、コンテナ内でやろうとしているだけの話

Docker, Kubernetes、
Heroku 相当のPaaS、AWS Elastic Beanstalk などに書いてある
861: 2020/11/13(金)01:14 ID:h9qpOhxr(1) AAS
まーた知ってる単語を並べた君かぁ...
862: 2020/11/13(金)01:16 ID:tBgNXNfN(1) AAS
OOM killerに殺されて転生したらPodでした
863: 2020/11/13(金)08:42 ID:ZDuvPuUP(1) AAS
全て一つのマシンに配置する事も
データベースだけ別のマシンにする事も自由自在なのがコンテナの良いところ
864
(1): 2020/11/13(金)19:48 ID:PqmnqAl7(1) AAS
K8S使うまでもないんやけどコンテナで運用したいんやがどこのサービスがええのん?
865: 2020/11/13(金)20:45 ID:D3CVFpPL(1) AAS
>>864
一台しか使わないならdocker-composeでもよくね?

それともマネージドサービスが使いたい?
ならコントローラーが無料のサービスを選ぶとよい

Amazon ECSは無料
Azure Kubernetes Serviceも無料らしい
Google Kubernetes EngineはZonal Clusterなら一つは無料らしい
866: 2020/11/13(金)20:59 ID:fCUG99+M(1) AAS
dockerコンテナ一つで終わるなら、dockerをデーモンで起動すればいいし
複数のコンテナが必要なら、docker-composeだろうな
867: 855 2020/11/13(金)23:26 ID:11LMJbR5(3/3) AAS
当然、Heroku 相当のPaaS、AWS Elastic Beanstalk

Docker, Ruby もある
868: 2020/11/14(土)09:17 ID:ft2LGGjD(1) AAS
Fargateがベスト
K8Sなんて大げさなものは超大規模システムでしかメリットがない
アプリをお手軽にパッケージングしてお手軽にデプロイする基盤がほしい
でもDockerホストは管理したくない
大半のユーザーが求めてるモノはそれだけだ
869: 2020/11/14(土)09:41 ID:UXNOc8pC(1/2) AAS
監視と通知ができる軽量なダッシュボードがほしい
870: 2020/11/14(土)10:37 ID:wWPmvFxr(1/4) AAS
自分でオーケストレーターをインストールするのか?

k3sなら単一ノード構成でも使えるしセットアップも比較的楽
より機能の少ない物ならNomad, Docker Swarm等もあるが
使いやすいかは知らん

HerokuもDocker使えるから
自分でオーケストレーターの管理したくないならありかも
871: 2020/11/14(土)12:04 ID:sDLHDIUi(1/2) AAS
Herokuはvolume使えないんだろ
クソじゃん
872
(1): 2020/11/14(土)12:13 ID:r6FG8kYB(1) AAS
古いプログラムソースのファイルアクセスをクラウドストレージアクセスに書き換えるのがめんどくさい
なんかファイルIOをフックしてクラウドに転送する魔法ないの?
873
(1): 2020/11/14(土)12:26 ID:bVnWs0Ha(1) AAS
>>872
クラウドストレージが何を指してるのか分からないけど
単にホストがストレージをマウントしてDockerのvolumeか
mountで逃がせば良いんじゃね?
874: 2020/11/14(土)13:02 ID:sDLHDIUi(2/2) AAS
>>873
ホストに依存したくない
コンテナの中だけで解決できないか
875: 2020/11/14(土)13:10 ID:UXNOc8pC(2/2) AAS
コンテナにrcloneでも入れればいい
個人的にはそういうものはホストに入れるけど
1-
あと 127 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.223s*