[解決済み] dockerコンテナ間でメモリを共有することは可能ですか?
2022-03-04 17:25:38
質問
私は異なるプロセスを持つアプリケーションに取り組んでおり、より高い分離を達成するためにそれらのプロセスを含むように依頼されています。
問題は、データを交換するために、プロセスが1つのハイパーバイザーとメモリを共有していることです(古典的な共有バッファを使用しています)。このソリューションは、パフォーマンス要件と、ユーザースペースで実行されるため、ユーザースペースとカーネルスペースの間でコンテンツが切り替わらないという理由から実装されました。
私が間違っていなければ、単一の IPC ネームスペース内で複数の docker コンテナを実行することはできませんが、単一の docker コンテナが異なる IPC ネームスペースに属することが可能かどうかはわかりません。
他の解決策も歓迎します。ただ、パフォーマンスが要件であることを念頭においてください、よろしくお願いします。
解決方法は?
その
--ipc=host
と
--ipc=container:id
オプションが追加され、Docker の
create
と
run
コマンドを使用して、IPCリソースを共有することができます。
--ipc="" : Set the IPC mode for the container, 'container:<name|id>': reuses another container's IPC namespace 'host': use the host's IPC namespace inside the container
ホストとのIPC
docker run --ipc=host <image>
他のコンテナとのIPC
docker run --ipc=container:<id> <image>
他のコンテナとのIPCには
shareable
オプションを設定します (dockerd が IPC をデフォルトで設定する場合)。
private
)
docker run --ipc=shareable <image>
関連
-
[解決済み] OOM例外がない場合、Docker-composeの終了コードは137になる
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] DockerfileのCMDとENTRYPOINTの違いは何ですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み] Dockerでコンテナを一覧表示する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Dockerエラー:無効な参照形式:リポジトリ名は小文字でなければならない
-
[解決済み] mysqlのエラーログに「mbind: Operation not permitted」と表示されるのを修正する方法
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] 引数を受け取るシェルスクリプトでDocker Runのエントリポイントをオーバーライドする
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み】擬似TTYを割り当てるDockerの-tオプションに戸惑う
-
[解決済み】特定のコンテナのみdocker-composeを立ち上げる。
-
[解決済み】Dockerfileのif else条件で外部引数を指定した場合
-
[解決済み】dockerイメージのインストールディレクトリを変更する方法は?
-
[解決済み] standard_init_linux.go:190: exec user process caused "no such file or directory" - Docker