[過去ログ] Docker Part5 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
167: 2020/12/30(水)16:12 ID:nRZrvQqz(5/6) AAS
RedHatにベンダーロックインされてる人が使うw
RedHatがDockerを切り捨てたから
それに従わないといけないのだ
168: 2020/12/30(水)17:00 ID:r9TksVgH(1) AAS
商用はRedhatだからpodmanに従ったほうがよさそうだね
169: 2020/12/30(水)17:04 ID:nRZrvQqz(6/6) AAS
あとで移行すればいいよ
普及してから(そして大抵の代替技術は普及しないw)
170: 2020/12/30(水)17:19 ID:/V2k7qc7(1) AAS
podman 2〜Dr.ワイリーの謎〜
171: 2020/12/30(水)21:31 ID:lasrj5XX(1) AAS
PodmanよりDockerRootlessのほうがええわな
172: 2021/01/05(火)10:35 ID:a6MKPo5T(1) AAS
docker-composeはConfigMapに相当する仕組みが無いから不便ですね
173: 2021/01/08(金)18:53 ID:MTOnxYZl(1) AAS
Wasmerも本格的に動き始めた
いよいよDockerの居場所がなくなってきた
174: 2021/01/08(金)19:39 ID:M4gsjCxc(1) AAS
rocktの登場で居場所はとうの昔になくなってたはずだが?
175(1): 2021/01/09(土)19:04 ID:pshOY4NZ(1/4) AAS
自作ソフトのdockerイメージを作って配布しようとしているんですが、設定ファイルの類はどうするのが普通ですかね?
1. 配置するディレクトリを決めておいて使用する側でmountしてもらう
2. volumeを作ってそこに置いてもらう
3. デフォルトの設定ファイルをイメージ内に配置して、使用する側で上書きしてもらう
4. その他
ケースバイケースの場合は判断ポイントなどを教えてください。
176(1): 2021/01/09(土)19:33 ID:vXKDEOHB(1/2) AAS
設定の構文が複雑ならファイルをサポート
そうでないならコマンドライン引数、環境変数、ファイルを全部サポート
177(1): 2021/01/09(土)19:39 ID:Xx9/0RY+(1) AAS
>>175
コマンドラインの引数や環境変数は?
Amazon ECSはこれらの方法でしか設定を入れられないから
環境変数で設定出来た方が便利
ECSの機能を使わず、ホスト上にファイルを配置しておけば設定ファイルも使えるが、わりと面倒くさい
k8sだとConfigMap、Secretの内容をファイルとしてマウント出来たりして便利だった
パスワードのような機密情報はコマンドライン引数にするとまる見えになるから
設定ファイルや環境変数にすべき
Traefikだったら複数の設定方式に対応してて
・コマンドラインの引数
省7
178(1): 2021/01/09(土)19:57 ID:pshOY4NZ(2/4) AAS
>>176
>>177
動かそうとしているアプリケーションは設定ファイルのみを使用しますので、それを実行する側の
ユーザー環境で差し替えさせるにはどういうやり方をすればいいかという質問でした。
実行環境は社内のユーザーにdockerを用意してもらう前提で、amazon等のcloudの利用は想定していません。
1.,のようにホストのディレクトリをマウントさせるのが普通ですかね?
179(1): 2021/01/09(土)20:04 ID:vXKDEOHB(2/2) AAS
>>178
差し替える方法はユーザーが自分達の環境に合わせて考えること、なのでイメージ提供者はあまり考えなくていい
どこに、どんな形式のファイルを置けばいいのか、だけを仕様として明確化すること
180(1): 2021/01/09(土)20:06 ID:pshOY4NZ(3/4) AAS
>>179
ありがとうございます。それはつまり、
>3. デフォルトの設定ファイルをイメージ内に配置して、使用する側で上書きしてもらう
これでいいってことですかね?
181: 2021/01/09(土)20:07 ID:73ECCOc1(1/2) AAS
>>180
それでいいです
182: 2021/01/09(土)20:09 ID:73ECCOc1(2/2) AAS
設定ファイルの書き換えをスクリプトで行いたいユーザーのために、エントリーポイントにフックを仕掛けるとより親切
183: 2021/01/09(土)20:11 ID:pshOY4NZ(4/4) AAS
なるほど、ありがとうございました!
184(1): 2021/01/11(月)02:15 ID:zpurJaCg(1) AAS
rktって開発中止されてたのか。
185: 2021/01/11(月)11:19 ID:ZlDEkoeZ(1/3) AAS
>>184
気づくの遅くね?
186: 2021/01/11(月)12:15 ID:89OcdB6i(1/3) AAS
結局dockerがメジャーなままなのね
187: 2021/01/11(月)12:36 ID:NoL+Y9f0(1/2) AAS
podmanとK8S
188: 2021/01/11(月)12:58 ID:r3JkpTc1(1) AAS
docker楽でいいね
docker-composeをアップすると自動でやってくれるレンタルサーバとかクラウドサーバないでっか?
189: 2021/01/11(月)13:10 ID:dD9m53n1(1) AAS
Windows、Macはまだdockerが主流なんだっけ?
190: 2021/01/11(月)13:38 ID:u+O//c17(1) AAS
K8SがデファクトスタンダードだからDCでの運用ノウハウを探すの大変だよ
素直にK8Sを勉強したほううがいい
大変なのは最初だけ
191: 2021/01/11(月)14:10 ID:5exndTNV(1/2) AAS
1ノードしかない場合のそのへんの得失ってどうなんだろう。
サーバー1台だとオーバースペックというか無駄に複雑になるだけにも思うけど。
192: 2021/01/11(月)14:31 ID:ZlDEkoeZ(2/3) AAS
kubernetesは色々運用管理に必要なものが揃ってて便利だが
使わないならオーバーキルな気はする
k3sは知らんが、本家のKubernetesは重過ぎ
使うなら最初はマネージドで
コントローラーに追加費用要らない所も多い
GKEは高可用性無しなら1つだけ無料
AKSやLinodeは無料
DigitalOceanは無料だが日本のデータセンターが無い
EKSは未だに有料
193: 2021/01/11(月)14:36 ID:+C1ZDq6A(1) AAS
最初はっていうかずっとマネージドでいいと思う
オンプレミスでK8S管理は辛いよ
194: 2021/01/11(月)14:39 ID:btG2xty8(1) AAS
Kubernetesは起動するだけでメモリ1GBを消費する
つまり最小構成のVMではかろうじて動くが
そのVMを実用的に使うことはできない
最初からそれだけのメモリをKubernetesに
与えてもいいぐらいの規模が前提となってる
195: 2021/01/11(月)14:42 ID:ZlDEkoeZ(3/3) AAS
k8sはYAMLの記述量が多過ぎなのも嫌われる一因
helmもYAMLとGoTemplateと言うやばい組み合わせのせいで汚い
kustomizeもなんかアレ
tankaとかkapitanならjsonnetで書ける
YAMLをテンプレートでやるより100倍いい
外部リンク:github.com
外部リンク:github.com
196: 2021/01/11(月)14:44 ID:ewQPp1QF(1) AAS
k0sってどうなの?
197: 2021/01/11(月)14:52 ID:NoL+Y9f0(2/2) AAS
docker-composeが一番だ
k8sよりswarmのほうが完成度が高いのになぜ使わないんだろう?
198: 2021/01/11(月)14:55 ID:cXgFbbRO(1) AAS
複雑怪奇なYAMLベースのDSLを作らないでほしいね
199: 2021/01/11(月)15:47 ID:biM4wIYB(1) AAS
*.hcl
わかりやすい
200: 2021/01/11(月)16:13 ID:ECUSqoWw(1) AAS
.hcl自体はわかりやすくても
それをもとに作られたDSLがなぁ
201(1): 2021/01/11(月)16:38 ID:5exndTNV(2/2) AAS
ところで質問。
docker-compose のサービスをいきなり docker run 相当で起動するんじゃなくて
docker create -> docker cp -> docker start みたいなことってできないのかな?
あるいは swarm や k8s だとどうだろう。
202: 2021/01/11(月)16:40 ID:89OcdB6i(2/3) AAS
なるほど。ただ、podmanであってもdockerfileの置き換えには至ってない雰囲気。
軽くしようとすると途端に難易度が高くなるツールだ
203: 2021/01/11(月)17:42 ID:89OcdB6i(3/3) AAS
Buildahというのがあるようだ。
どの程度の性能か謎ではあるが……。
204: 2021/01/12(火)08:35 ID:KVG+KHkJ(1/2) AAS
>>201
docker-composeなら
ファイルはボリュームでマウントすれば良いし
イメージがshとかbashでのcommand実行に対応してれば何らかの初期化処理も可能だ
scratchイメージでsh入ってなかったら無理だが
205: 2021/01/12(火)21:10 ID:KVG+KHkJ(2/2) AAS
Docker BuildKit: faster builds, new features, and now it’s stable
外部リンク:pythonspeed.com
206: 2021/01/12(火)21:11 ID:M4v6YD34(1) AAS
直接そういうことができる機能は無いから別の手を考えないとならないということね。ありがとう。
207: 2021/01/13(水)15:47 AAS
docker-composeで独自モジュールをpipでいストールしたけど
その独自モジュールのソースを微妙に変更して、docker-composeやり直しても更新してくれない。。
docker-compose down --rmi all --volumes --remove-orphans
してもコンテナもイメージも残ったままなのがたぶん原因なんだろうけど・・
手動でポチポチ消すしかないのかなぁ
208(1): 2021/01/13(水)16:01 ID:bWUxShca(1/2) AAS
docker-compose build --no-cache
209: 2021/01/13(水)16:17 AAS
>>208
ちょっとだけ構築速度おそくなったけどできた!?クス!
210: 2021/01/13(水)17:51 ID:rA2yTqxj(1) AAS
no cacheオプションだから遅くなるのは当然でしょ
211: 2021/01/13(水)19:38 AAS
メモ
docker image prune
で消えねえと思ったら-aオプションいるのね・・
docker image prune -a
消したくないやつは稼働させたままやったら
稼働してないやつだけ消えてめちゃくちゃ捗った
(稼働中のやつには無影響なのかはわからないけど)
212(1): 2021/01/13(水)19:46 AAS
できれば、pipでインストールする自作ライブラリの訂正部分だけ更新できるようにしたいけど
--no-cacheするかイメージもコンテナも全部消してから再ビルドしないと適用してくれない・・
非公開gitからクローン → python setup.py sdist → pip install ○○
みたいにDockerファイルのRUNでやってるのがだめなのかな
213(1): 2021/01/13(水)20:07 ID:PWUDNnFH(1) AAS
>>212
自作ライブラリをインストールした以降のイメージだけを削除したら。
214(1): 2021/01/13(水)20:07 ID:bWUxShca(2/2) AAS
ARGでタグかブランチを指定するんですよ
215: 2021/01/13(水)20:18 AAS
>>213
>>214
なるほやってみる?
216(3): 2021/01/14(木)23:12 ID:Pm6qmODH(1) AAS
>>1
>Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けて
具体的に言うと?
217: 2021/01/15(金)08:17 ID:qYm5MEeF(1) AAS
hypervisord最強おじさんktkr
218: 2021/01/15(金)08:27 ID:IT9cRebK(1/6) AAS
super...
219: 2021/01/15(金)08:28 ID:TKANrLkr(1/21) AAS
>>216
困難は特にないよ
220: 2021/01/15(金)08:30 ID:KcZzwMNW(1) AAS
具体性0
221: 2021/01/15(金)08:32 ID:42ZtZd/z(1/2) AAS
面倒なだけで問題はないよね。
面倒という指標だとk8sは更に最初が面倒なわけで
222: 2021/01/15(金)08:37 ID:TKANrLkr(2/21) AAS
dockerわかってないのにわかった風のおじさんが、僕には困難です、と書いただけだから気にせんでええ
次スレまでいったら、テンプレから削除していいよ
223: 2021/01/15(金)08:41 ID:0MH2boun(1) AAS
説明になってない
224: 2021/01/15(金)08:55 ID:ouI6ZQHD(1/5) AAS
>>216
複数のサービスを起動する場合、systemdが一般に使われるが
systemdを使うのは大変
外部リンク:stackoverflow.com
可能な限り、コンテナ内のsystemdは避けることをお勧めします。
Systemdは、ファイルシステムをマウントし、いくつかのカーネルパラメータを制御し、
プロセス出力をキャプチャするための独自の内部システムを持ち、システムスワップスペースを構成し、
巨大なページとPOSIXメッセージキューを構成し、プロセス間メッセージバスを開始し、
端末ごとのログインプロンプトを開始し、システムサービスのスワス。
これらの多くは、Dockerがあなたのために行うことです。
省8
225: 2021/01/15(金)09:02 ID:ouI6ZQHD(2/5) AAS
>>216
これとか読むといいかも。公式がVMじゃないと言ってる。
Containers are not VMs
外部リンク:www.docker.com
> しかし、これを言っても、VMに関する現在の考えやプロセスを適応させ、
> コンテナーに適用しようとしています。
>
> 「コンテナをバックアップするにはどうすればよいですか?」
> 「実行中のコンテナのパッチ管理戦略は何ですか?」
> 「アプリケーションサーバーはどこで実行されますか?」
省8
226(1): 2021/01/15(金)09:06 ID:ouI6ZQHD(3/5) AAS
複数のサービスを実行することは可能だが、推奨しないと書いてある。
そしてこの記事に書いてある複数のサービスを実行する方法を見ればわかるように
仮想マシンのように気軽にはできずコードを書く必要がある
Run multiple services in a container
外部リンク:docs.docker.com
コンテナの主な実行プロセスは、ENTRYPOINTおよび/またはCMDの最後ですDockerfile。
一般に、コンテナごとに1つのサービスを使用して、関心のある領域を分離することをお勧めします。
そのサービスは複数のプロセスに分岐する可能性があります(たとえば、Apache Webサーバーが
複数のワーカープロセスを開始します)。複数のプロセスがあっても問題ありませんが、
Dockerを最大限に活用するには、1つのコンテナーがアプリケーション全体の複数の
省2
227: 2021/01/15(金)09:06 ID:42ZtZd/z(2/2) AAS
そもそもコンテナを仮想マシンの代替として使うケースはほぼないだろ。
1に書くような話ではないな
228: 2021/01/15(金)09:09 ID:ouI6ZQHD(4/5) AAS
> Handling such processes this way is superior to using a full-fledged
> init process such as sysvinit, upstart, or systemd to handle process lifecycle within your container.
sysvinit, upstart, or systemd を使うよりも
自分でコンテナのメインプロセスを作ったほうがいい
229: 2021/01/15(金)09:27 ID:IT9cRebK(2/6) AAS
たとえばnginxとphp-fpmを別コンテナにする気もないから自作シェルエントリポイントにしてる
俺はやらないがsupervisordで制御してもいいだろう
systemdまで入れるならlxcかkvmにするけど
230: 2021/01/15(金)09:41 ID:ouI6ZQHD(5/5) AAS
つまりは仮想マシンであれば標準でsystemdなどが起動してるから
サービスを起動させるにはパッケージインストールして
ちょっと設定ファイルを書き換える程度の簡単な作業だが
Dockerでやる場合、systemdなどを使わずに
自分でスクリプト書いて起動と停止を制御しなきゃいかんのよ(Docker推奨の方法)
頑張ればsystemdを動かすことも出来るが、そのために --privileged オプションが
必要になるかもしれないし、その他の調整が必要になるかもしれない
何が必要かは起動するサービスによって違うので試行錯誤が必要になる
だからDockerはsystemdを使わずに自作スクリプトで制御することを推奨してる
systemdを使うぐらいならより軽量のsupervisordを使うほうがいい
省2
231: 2021/01/15(金)11:19 ID:TKANrLkr(3/21) AAS
😫マルチプロセスコンテナ否定派
・1つのサービスのために多数のコンテナイメージをリリース
・イメージ使用者に面倒くさいymlを書かせる
🤗マルチプロセスコンテナ肯定派
・1つのサービスのために1つのコンテナイメージをリリース
・Supervisor等の設定を開発側が書いて出荷するのでイメージ使用者はdocker runするだけ
232: 2021/01/15(金)11:30 ID:S7oMpLHl(1) AAS
じゃあちゃんと責任持って管理してね🤗
233(1): 2021/01/15(金)11:40 ID:u8cDb4A3(1) AAS
仮想マシンみたいなことしたかったらLXCでよくね?
しらんけど
234(1): 2021/01/15(金)11:42 ID:dw4hxnTe(1/10) AAS
・イメージ使用者に面倒くさいymlを書かせる
別に良くね?
235: 2021/01/15(金)11:43 ID:TKANrLkr(4/21) AAS
>>233
仮想マシンみたいなことがしたいならシステムコンテナでいいと思うよ
単にマルチプロセスってだけならアプリケーションコンテナのほうがいい
236: 2021/01/15(金)11:46 ID:IT9cRebK(3/6) AAS
「プロセス」「サービス」を意図的に混同して相手を貶める
237: 2021/01/15(金)11:47 ID:TKANrLkr(5/21) AAS
>>234
良くない
負担を減らせるなら減らしたほうがいい
ホスピタリティの精神だよ
セルフサービスで全部やってねなんてのは二流だ
もちろん分散型のイメージを提供するなと言ってるわけじゃない
分散型をオプションとしてサポートするのも良い事だ
238(1): 2021/01/15(金)11:50 ID:dw4hxnTe(2/10) AAS
マルチプロセス派は配布して終わり!じゃなくてその後の運用まで考えてるのか?
239(1): 2021/01/15(金)11:52 ID:TKANrLkr(6/21) AAS
>>238
運用もシングルコンテナのほうが簡単でしょ
240(1): 2021/01/15(金)12:03 ID:dw4hxnTe(3/10) AAS
>>239
なんで?
241: 2021/01/15(金)12:06 ID:TKANrLkr(7/21) AAS
>>240
1つの物管理するのと多数の物を管理するのじゃ前者のほうがかんたんだ
常識的に考えればいい
242(1): 2021/01/15(金)12:23 ID:dw4hxnTe(4/10) AAS
複数サービスのログ管理はどうする?
まさかファイル出力にしてlogrotatedとかも突っ込むの?
それかコンテナ自体のログを複数のサービスからのログが流れてる状態にするの?
ログ管理のSaaSへログの集約がしたくなったらどうする?
エージェントもコンテナに突っ込むのか?
複数コンテナで
ログは全部コンテナのログにしておけば
dockerのログだけローテーションすれば済むじゃん
ロギングドライバ変えたり
ログ転送のエージェントは別コンテナにしたりできる
243(1): 2021/01/15(金)12:38 ID:uuEHso6B(1/4) AAS
個別に更新するのだから、バラバラの方が管理しやすい。負荷分散も容易。
一箇所にまとめるのは滅多に変えない時だけね。
244(1): 2021/01/15(金)12:39 ID:IT9cRebK(4/6) AAS
そんなもんそれぞれのプロセスがstderrに流すだけ
あとはホスト側でどうにでも
245(2): 2021/01/15(金)12:41 ID:uuEHso6B(2/4) AAS
纏めた方が楽という人は、k8sのメリット関連の文献を読んだほうが良い。基本的に個人でも同じ。
依存関係が原因のレガシー化を防ぐには、細かく分けて疎結合というのがマイクロサービスの基本。
246(1): 2021/01/15(金)12:45 ID:dw4hxnTe(5/10) AAS
supervisord管理下のプロセスの死活監視やリソース使用の監視はどうするんだ?
同じイメージに監視ツールのエージェント突っ込むのか?
もうめちゃめちゃ複雑だし、イメージに汎用性がない
複数アプリがあったら全部これやれってアプデも対応しろって言うの?面倒過ぎ
普通にマルチコンテナで動いてたら
Dockerコンテナが動いてるかどうかや、コンテナのCPU、メモリ使用量などの監視で済む
監視ツール変えたくなってもアプリのイメージをいじる必要がない
アプリ固有のメトリクスを記録監視するならアプリイメージに対応必要だが、
これらの基本的なメトリクスを取りたいだけなら対応不要
247(1): 2021/01/15(金)12:53 ID:dw4hxnTe(6/10) AAS
>>244
ホスト側!?
結局分けるんじゃん
じゃあsupervisordもやめたら良くね?
248: 2021/01/15(金)12:57 ID:TKANrLkr(8/21) AAS
>>242
コンテナのログとして出せばいいだけ
249: 2021/01/15(金)12:57 ID:TKANrLkr(9/21) AAS
>>243
実は他者製のクラスタを個別に更新することは少ない
250: 2021/01/15(金)13:00 ID:TKANrLkr(10/21) AAS
>>245
k8sは大規模すぎるので導入障壁が大きい
1コンテナシステムは小規模から手軽に開始できる
251(2): 2021/01/15(金)13:01 ID:TKANrLkr(11/21) AAS
>>245
なんでもかんでもバラす必要性はない
Spotifyの事例にもあるようにミクロサービスからモジュラーモノリスに回帰した大規模サービスもある
252(1): 2021/01/15(金)13:03 ID:TKANrLkr(12/21) AAS
>>246
昔からやってる事をやるだけ
開発側にばノウハウが大量にあるのでなにも苦にならない
重要なことは利用者側が楽になること
253(1): 2021/01/15(金)13:05 ID:uuEHso6B(3/4) AAS
弊社の勤怠管理システムはIE限定です!
一箇所にまとめるとこうになる。
まあ、慣れてるからそれが良いという人はご自由にどうぞかな
254(1): 2021/01/15(金)13:05 ID:dw4hxnTe(7/10) AAS
>>252
>開発側にばノウハウが大量にあるのでなにも苦にならない
よくわかんない
255(1): 2021/01/15(金)13:05 ID:TKANrLkr(13/21) AAS
>>253
意味不明な論点ずらし乙
256: 2021/01/15(金)13:06 ID:TKANrLkr(14/21) AAS
>>254
わかる
257: 2021/01/15(金)13:06 ID:TKANrLkr(15/21) AAS
仕事に戻るからまた後でな
258: 2021/01/15(金)13:16 ID:dw4hxnTe(8/10) AAS
>>251
Spotifyにsupervisord最強おじさんはいない
259: 2021/01/15(金)13:19 ID:IT9cRebK(5/6) AAS
>>247
supervisord使うなんて一言も言ってないけど
コンテナ別にログ分けるのはホスト側のrsyslogdで十分
260: 2021/01/15(金)13:27 ID:uuEHso6B(4/4) AAS
>>255
まとめるとレガシー化しやすいってこと。
261(1): 2021/01/15(金)13:38 ID:dw4hxnTe(9/10) AAS
1コンテナマルチプロセスにしろってsupervisordにしろってことだろ
そんな事やったらサービス単位で更新できないし、
supervisordの面倒見るのもいやだな
Docker自体がある意味supervisordみたいな物だから
supervisord in supervisordするって事じゃん?
262(1): 2021/01/15(金)14:24 ID:IT9cRebK(6/6) AAS
「プロセス」「サービス」を意図的に混同して話をややこしくする
nginxとphp-fpmを別コンテナにするメリットがあるのかね
263(1): 2021/01/15(金)16:05 ID:cz1NjHRF(1) AAS
>>251
Shopifyじゃなくて?
264: 2021/01/15(金)16:09 ID:6mixkv7d(1/2) AAS
>>262
まあマルチプロセスなベースイメージをそうと知らないまま使っている阿呆も中にはいるだろうね
265(1): 2021/01/15(金)16:11 ID:NRANT14o(1) AAS
バカには疎結合なんか、分からんから、ほっとけほっとけって
266: 2021/01/15(金)16:25 ID:TKANrLkr(16/21) AAS
>>261
オーケストレーションの手間暇を利用者側に押し付けるか、開発側でやってあげるかの違い
小規模のスタートアップなら全部開発側に丸投げしてdocker runするだけのほうがかんたんだ
上下前次1-新書関写板覧索設栞歴
あと 736 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s