[過去ログ] Docker Part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
823: 2020/07/20(月)21:06 ID:61CQ31O+(1) AAS
docker execは邪道なのかな
824: 2020/07/20(月)21:25 ID:ONUA68Eb(1) AAS
docker execはデバッグ機能
825(1): 2020/07/20(月)22:35 ID:2mNwS2JU(2/2) AAS
docker exec して、動かしながら、Dockerfileを書く。
最後にdocker buildして同じものが出来上がって完成。
って感じじゃない?
826(1): 2020/07/20(月)23:19 ID:fTvFRbnb(1) AAS
うちは運用ジョブをdocker execで流してます
docker execを使わない場合、運用ジョブ専用のAPIやWebAppを整備するんでしょうか?
827(1): 2020/07/20(月)23:20 ID:sHuZrd7b(2/2) AAS
データベースをホストにマウントするのとボリュームで管理するのはどっちがいいんでしょうか?
828: 2020/07/21(火)08:33 ID:nXYHdseE(1/4) AAS
>>825
そんなことめったにしないなぁ。docker buildはキャッシュが効くんで
(キャッシュが効くように)Dockerfileに追記しながらDockerfileを書く
終わったらDockerfileをシンプルにしたりサイズが膨れ上がらないように調整するって感じ
docker execなんかして作業したら、その作業結果をファイルに保存するの二度手間じゃん
829(1): 2020/07/21(火)08:34 ID:nXYHdseE(2/4) AAS
>>826
そういうのはdocker runやるのが普通
最初docker execなんてなかったんだよ
それなのにそういう用途にも使えたわけ
830: 2020/07/21(火)08:36 ID:nXYHdseE(3/4) AAS
>>827
どちらもボリューム。データの保存先のパスが違うだけって知ってる?
Dockerサーバー上の特定のパスに保存するか
Dockerが用意したパスを使うかの違い
831: 2020/07/21(火)09:34 ID:+NBX9hi+(1/3) AAS
ホストマウントはホスト環境への明示的な依存なので、どうしても必要でなければ避けてvolumeを使うべき
volumeも内部的にはホスト環境に依存してるといえばそうだけど、抽象化・隠蔽されているのでホストマウントよりBETTER
実例として、Docker for Windowsでのパーミッション、リモートエンドポイントへのコマンド実行、などでvolumeを使用していれば避けられたトラブルが結構あった
832(1): 2020/07/21(火)10:07 ID:nXYHdseE(4/4) AAS
つまりはいろんな種類のホスト、例えばWindowsやMacでも使いたいなら
Docker上のボリュームを使えってことだな。
Dockerイメージ自体は同じものを使える。
必要に応じてDockerのボリュームを使おうがサーバー上の
パスを使おうが自由に選択できる。
だが相対パスを使えばいいだけじゃないか?
833: 2020/07/21(火)10:23 ID:iuc4a5Mi(1/2) AAS
相対パスでマウントできたっけ
834: 2020/07/21(火)11:16 ID:ZxJULecG(1/3) AAS
相対パスを変換するだけやろ
835: 2020/07/21(火)11:16 ID:ZxJULecG(2/3) AAS
docker-composeはそれを自動でやってくれる
836: 2020/07/21(火)11:18 ID:ZxJULecG(3/3) AAS
そもそもDockerのクライアントがどんなOSかなんて関係ない
Dockerはサーバーで動くし、DockerはLinuxでしか動かない
837: 2020/07/21(火)11:43 ID:+NBX9hi+(2/3) AAS
>>832
その相対パスが存在するか、適切なパーミッションを持っているか、といった条件はホストへの依存性となる
基本的にホストへの依存性が少ないほどトラブルは減る
838(1): 2020/07/21(火)11:54 ID:+NBX9hi+(3/3) AAS
>>829
docker runで全てが解決するならdocker execは存在しない
docker runはコンテナ外部で解決可能なジョブの実行に適している
docker execはコンテナ内部で行う必要があるジョブのために存在する
839: 2020/07/21(火)17:20 ID:rF6lL3p5(1) AAS
問題は Windows と Mac でボリュームを使うとファイルシステムの変換が起こるのでとても遅いということですね
840(1): 2020/07/21(火)17:24 ID:cvaypvgc(1) AAS
>>838
だからdocker execは主にデバッグ用だって
通常の運用時には使わないもの
コンテナ外部で解決可能とか何のことを言ってるんだかさっぱりわからん
docker runとdocker execで実行できることは全く同じ
違いはdocker runはメインの処理を行うもので、
docker execはメインの処理を行ってる最中に乗り込んでデバッグするもの
841: 2020/07/21(火)17:32 ID:iuc4a5Mi(2/2) AAS
runで常時起動してるコンテナに
例えばcronからexecでジョブ実行してもいいと思うがな
842: 2020/07/21(火)19:56 ID:1Ck3nt75(1) AAS
kubectl exec 経由なら、管理用のコンソールが欲しいときにわりと使ってる
上下前次1-新書関写板覧索設栞歴
あと 160 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s