背景
仕事で、複数のエッジコンピュータにデプロイを行うにあたり、Dockerイメージを利用する必要があった。
複数コンテナ間でプロセス間通信を行うにあたり、メモリ共有を行う必要があった。
記事の目的
Dockerでメモリ共有を行う
メモリ共有コマンドについて
ここでは、Dockerでメモリ共有する方法について記載する。
ホストとコンテナ間で共有
コンテナとホスト間でメモリ共有する手順は、下記の通りである。- --ipcオプション付きでdocker run を実行
$ sudo docker run --ipc="host" nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04
- /run/shm(メモリ)にデータを保存
- オプションなしでdocker run を実行
- --ipcオプション付きでdocker run を実行
$ mkdir /run/shm/test
$ sudo docker run nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 ls /run/shm
$ sudo docker run --ipc="host" nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 ls /run/shm
コンテナ間で共有
コンテナ間でメモリ共有する手順は、下記の通りである。- --ipcオプション付きでdocker run を実行
$ sudo docker run --ipc="container:<名前|id>" nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04
まとめ
- Dockerでメモリ共有する方法について調査、記載した
参考文献
変更履歴
- 2020/04/14: 新規作成
0 件のコメント:
コメントを投稿