2020/04/14

Dockerのコンテナとホスト間でメモリ共有

背景


仕事で、複数のエッジコンピュータにデプロイを行うにあたり、Dockerイメージを利用する必要があった。
複数コンテナ間でプロセス間通信を行うにあたり、メモリ共有を行う必要があった。

記事の目的


Dockerでメモリ共有を行う

メモリ共有コマンドについて


ここでは、Dockerでメモリ共有する方法について記載する。

ホストとコンテナ間で共有

コンテナとホスト間でメモリ共有する手順は、下記の通りである。
  1. --ipcオプション付きでdocker run を実行
  2. $ sudo docker run --ipc="host" nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 
動作確認
  1. /run/shm(メモリ)にデータを保存
  2. $ mkdir /run/shm/test
  3. オプションなしでdocker run を実行
  4. $ sudo docker run nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 ls /run/shm
    
  5. --ipcオプション付きでdocker run を実行
  6. $ sudo docker run --ipc="host" nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 ls /run/shm
    

コンテナ間で共有

コンテナ間でメモリ共有する手順は、下記の通りである。
  1. --ipcオプション付きでdocker run を実行
  2. $ sudo docker run --ipc="container:<名前|id>" nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 


まとめ


  • Dockerでメモリ共有する方法について調査、記載した


参考文献




変更履歴


  1. 2020/04/14: 新規作成

0 件のコメント:

コメントを投稿

MQTTの導入

背景 IoTデバイスの接続環境構築のため、MQTT(mosquitto)の導入を行った。 記事の目的 MQTT(mosquitto)をUbuntuに導入する mosquitto ここではmosquittoについて記載する。 MQTT MQTT(Message Qu...