探検


Docker Part4

■ このスレッドは過去ログ倉庫に格納されています
2020/08/17(月) 00:19:36.93ID:PKLBL3Xf
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/
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
>>719
python2用コンテナと、
python3用コンテナを用意する。

というか、paython2も3も同一マシンに同時に導入できたんじゃ?
2020/11/05(木) 16:43:09.02ID:/PyhrE0E
>>719
そういう使い方ではない

Dockerは「実際に全体として動くのか」の「全体」を作るもの

つまり「Python2を使う全体」と「Python3を使う全体」を
Dockerfileの内容を元にそれぞれ作る。
念の為。それぞれの中にはDockerは入ってないぞ。

Dockerfile(手順)を実行してDockerイメージを作るのがDockerで
さらにできたDockerイメージを動かすのがDockerだ
2020/11/05(木) 18:56:14.40ID:nb4htb8e
>>702
なぜUIDだとダメなのでしょうか?
2020/11/05(木) 20:49:54.77ID:JL2sRUYB
>>627だけど、やっぱり誰も受けてない?
727login:Penguin
垢版 |
2020/11/05(木) 21:45:24.42ID:xIltC13o
>>724
今やっと(多分)正確に理解出来ました。
つまり、「nginxのコンテナ」や「python2のコンテナ」の中にも、(乱暴な言い方をすれば)CentOSが入っているということですね。
>>714を参考にすれば、kernelだけは含まれず、そこは別でDockerなりWindowsなり、ホスト側の環境に依存する形で利用される、と。

とすると、docker compose等で3306はMySQLコンテナに飛ばす、と言った話は、こちらも乱暴な言い方をすれば、WEBサーバとDBサーバが2つ立っていて、そのサーバ間で通信を行うイメージになるわけですね
2020/11/05(木) 22:44:52.50ID:kRAtqvcg
>>726
試しに受けてみようかなと思ったら195ダラーに引いたw
たった55題でその値段とか冗談でしょ。
729login:Penguin
垢版 |
2020/11/05(木) 22:49:30.86ID:fiw9R+Nw
>>726
資格持ってるやつほどできなさそう
発想ゼロで創造性なさそう
2020/11/05(木) 22:58:59.64ID:kRAtqvcg
外国のベンダー試験は死ぬほど実務的。
勉強して役に立たないという事は基本ない、という印象。高いけど。

ただdocker自体コンテナランタイムとしてどうよ?って気がする。
Docker swarmとか別に知りたくもないし。
2020/11/05(木) 23:18:47.89ID:zb/W11IL
前から言ってんじゃんこれからはpodmanだって
dockerはレジストリとしての価値も危ぶまれてるまじオワコンよ
2020/11/05(木) 23:34:44.62ID:TdGXrpVR
> これからはpodmanだって

podmanになったらまた来てくれ
これからはと言ってるやつの99%は外れだから
2020/11/06(金) 00:31:53.26ID:P7wMRRj0
Docker は、namespace, cgroup, overlayfs を使っている。
本質は使い捨ての、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とか上位からコンテナランタイムを制御したいシステムとネットワークが干渉して
邪魔になる。
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
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からだとコンテナに割り当てられたローカルホストのアドレスからきちんとアクセスできた)
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 のインターネット・ゲートウェイとか
2020/11/06(金) 02:51:35.40ID:W98uQtEe
compose使ってるんだけど毎回cdするの面倒くさい
ymlを登録するなりしてショートカット出来ないの?
739login:Penguin
垢版 |
2020/11/06(金) 03:07:19.75ID:s01/YDPr
>>737
回答がお門違いやな。"play with docker"って言ってるでしょ。
でも>>736のやり方じゃnginx とpythonを別々に動かしてるだけだから
アクセスは出来んわな。pythonとnginxをセットにしたイメージをdockerhubから
探すしかないんじゃね?
740737
垢版 |
2020/11/06(金) 03:38:32.11ID:P7wMRRj0
外部に公開するのは、

BB ルーターのポートフォワーディング・ポートマッピング・静的IP マスカレードの設定とか、
ファイアウォールのufw, netsh とか

でも、素人が公開すると、すぐに乗っ取られるw

ssh で、リモートログインの方が安全
741737
垢版 |
2020/11/06(金) 03:43:44.05ID:P7wMRRj0
nginx, python の組み合わせは、珍しい。
普通は、web サーバーと、フレームワークの組み合わせ

nginx, Ruby on Rails とか、
Apache, WordPress とか
2020/11/06(金) 08:55:36.62ID:Xq/Lj6my
>>726
ググってみたが、資格のページ無くないか?
2020/11/06(金) 09:35:23.76ID:Pu2vwu4g
podman 見た感じだとわるくないんだけど、Red Hat のかじ取りというかやり方が微妙であんまり流行らないだろうなとは思う
2020/11/06(金) 10:14:04.41ID:p0uOIOHq
pythonでdjangoとか使いますし
nginxと組み合わせるなんて珍しいとは思いませんよ
2020/11/06(金) 10:17:28.74ID:4r/vlmbk
>>734
> podmanになるかは知らないけどDockerが何かに置き換えられるの可能性はあるだろうね。

当たり前だろ。「いつまでに」って期限をつけないならいつかは置き換えられる。
Linuxだって置き換わるだろ。100年後、200年後までLinuxのままだとは思えない。
746login:Penguin
垢版 |
2020/11/06(金) 10:32:54.57ID:s01/YDPr
>>742
https://prod.examity.com/docker
にある。アカウント作ったら入れる。トラブったらチャットの人が即座に解決してくれる。
747login:Penguin
垢版 |
2020/11/06(金) 10:35:51.92ID:s01/YDPr
>>745
そういう非現実的な話はしてないな。
デーモンじゃマズイ、と言っているんだからその問題が無視できくなれば
置き換わるだろ、と言うか自分たちが作ってるクラスタは置き換わってるし。
(あるバージョンからコンテナランタイムのDockerが消えた)
748login:Penguin
垢版 |
2020/11/06(金) 10:37:25.40ID:s01/YDPr
>>744
まあそうだよね。
nginx+pythonで珍しいとか意味が解らんね。
2020/11/06(金) 11:13:26.38ID:Pu2vwu4g
自分が使ったことない物をめずらしいって言ってるだけだろうから無視していいよ
2020/11/06(金) 11:48:56.16ID:4r/vlmbk
>>747
だから世間がいつまでに置き換わるか言ってみ
当たるか当たらなかいかじゃなくて、お前がどれだけ
自分の説に自信と信念を持ってるかを判断してるんだよ

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

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

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

IPとか、低レベルの技術はなかなか変容しないから、そのあたりの資格はあっても良いと思う。
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
2020/11/07(土) 00:16:16.97ID:eBGWX6aX
本番でも使えるが?
2020/11/07(土) 01:25:54.40ID:2ambohnb
dockerの入門書に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/
2020/11/07(土) 09:41:24.11ID:8zmwVowU
>>761
そのとおり。VMインスタンスで最小スペックだとメモリ4GBほどだが
k8sはそのうち1GBほどかっさらっていく
最小スペックのマシンは実質使い物にならなくなる
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程度しか食わないだろう
2020/11/07(土) 18:19:29.17ID:tGPIOgJu
fluentd_v1.11使っているが2週間くらいでElasticにデータ渡さなくなる症状に悩まされているよ
docker-compose restartを定期期にする必要がある
767login:Penguin
垢版 |
2020/11/07(土) 18:38:38.67ID:ulFlM/B0
>>765
そんなあなたにfluentbit
768login:Penguin
垢版 |
2020/11/07(土) 18:53:43.84ID:E4RaZBn4
k8sとかが、いったい何をしてくれるのか全然わからない。
全然わからないから、使う気にもなれない。
概要を読んでみても、まるで遠い話をしているみたいに聞こえて、必要性を感じられない。

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

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

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

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

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

とはいえ別ファイルにすると(ソースコードをマウントしている)開発環境では動くけど、(ソースコードをイメージの中に含んでいる)本番では動かない
という可能性も出てきてしまう気がして、一般的にはどうしているのかを知りたいです
2020/11/08(日) 00:39:21.68ID:E0Efq9ms
動画配信サイトとか高負荷かつ安定稼働を求められるシステムなら採用する価値はあるかもね
でもなんとなくK8S使ってみたかった程度の気持ちで無意味に使ってる人も多い
2020/11/08(日) 00:40:33.67ID:zneumWca
>>772
開発と言っても「実機と同等の構成で動かしてみる」というのも含まれるけど
一般にソースコードを修正してデバッグしてみたいな開発作業中は
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を使ってコストを最小化するような話聞いたことある?
2020/11/08(日) 00:46:13.79ID:mgGpxjW7
>>772
Dockerfileは同一で、開発時はソースコードをADDしてるディレクトリに、バインドマウントしてあげるだけで良いのでは。
2020/11/08(日) 00:50:35.76ID:zneumWca
>>777
そう簡単な話ではない。開発用イメージには、運用用イメージに加えて
開発用のツールやライブラリを含めなければいけない
2020/11/08(日) 00:54:00.53ID:zneumWca
どちらにしろ、開発用イメージはそのまま運用で使うことはできない
これが大前提。だから別々に作らなければいけないが
それするぐらいなら開発にはDockerを使わないほうがいい

使用する言語のバージョンやライブラリを統一するのは
Dockerを使わずともできる
2020/11/08(日) 00:58:10.83ID:mgGpxjW7
>>778
うん、そういうケースがあるのは分かるけど、ライトなWeb開発とかだとこれで必要十分なことも多いよね。
あとは商用向けはマルチステージビルドで成果物だけ持ってくるとかできるし。
2020/11/08(日) 01:16:24.21ID:E0Efq9ms
開発者の裁量で好きなように開発すればいい
テストさえしっかりしてれば何も問題はない
しかし好きにしろとは言ってもプロジェクトとして推奨構成を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?
テスティングやステージングは?問題があるなら、そこでわかるでしょう。
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
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 でも使っている
787login:Penguin
垢版 |
2020/11/08(日) 07:46:27.45ID:kMpY44Ng
そろそろスレチと言う気がしてきたな。
k8sの話したいのなら、航海1日目に行けよ。
788login:Penguin
垢版 |
2020/11/08(日) 09:26:29.05ID:Om5NOQR8
Kubernetes 航海1日目
https://mao.5ch.net/test/read.cgi/linux/1553389453/

超過疎スレなので来てやってください
2020/11/08(日) 10:37:59.27ID:YS1Huprs
>>786
奇数から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に到達する為のルーターが障害とかね。
2020/11/08(日) 12:06:00.13ID:3zTOdQJY
>>790
「古い」と答えてほしいのか?
2020/11/08(日) 12:31:20.80
>>792
いえ、どうして2でもなく3でもないのかな、と。
これならdockerhubからよりもベースpythonでpipしないといけないような
794login:Penguin
垢版 |
2020/11/08(日) 12:49:45.96ID:kMpY44Ng
>>793
django2とか3とをpullすりゃ良いんじゃね?
https://hub.docker.com/_/django
DEPRECATED と大書きているだろうが。
2020/11/08(日) 14:49:34.76
はい非推奨は知っていたのですが
オフィシャルイメージかつ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は非推奨なのか、安定版なのか
みたいな
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 は相当古いと誰でも分かる
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
2020/11/09(月) 23:40:05.64ID:t6dOYJYt
と無職が申しております
2020/11/10(火) 02:11:20.23ID:VE0k1L0+
ググった単語を色々並べて、頑張ってるな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を介した場合は大丈夫だった
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/ (?)に対する権限を持っているのだろうか?
結局コンテナに入ってプロセスの実行者とディレクトリの権限を確認しないと分からない気がする。
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以下だけでいいのかと思ってた
2020/11/10(火) 23:49:00.42ID:CFyr5V3E
>>813
で、誰が動かしているのか理解して、0755にしたの?
2020/11/12(木) 00:00:25.23ID:gGQuG0Gs
Docker compose stopでコンテナ止める時って結構時間掛かるのに
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上で動かしたとしても、そんなに早くは落ちないだろうし。
2020/11/12(木) 04:08:50.18ID:tXLSOFMO
Dockerコンテナ内のcrontab -eで、デーモンのスケジュール再起動を任せたら、
oom Killerでホストが倒れてしまった。ホストにsshログインもできない状態に陥って大変あせった。データもっていかれるかと思ったが、再起動でなんとか復帰できた。

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

そこで、ホストにおいて、docker restart コンテナとするようにした。
そうすると、メモリ溢れなく、安全にコンテナごとデーモンの再起動ができたので報告しておく。
819login:Penguin
垢版 |
2020/11/12(木) 04:11:53.86ID:tXLSOFMO
>>811
香具師/野師/野士/弥四(やし)とは。
意味や解説、類語。盛り場・縁日・祭礼などに露店を出して商売したり、
見世物などの興行をしたりする人。
また、露天商の場所割りをし、世話をする人。
的屋 (てきや) 。 - goo国語辞書
■ このスレッドは過去ログ倉庫に格納されています

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