ROSまわりの開発の際、外部装置の入れ替わり*1の度にcatkin_makeで環境を作るというやや不毛な事をしていました。
なんとか既存のコンテナにデバイスを追加できんかと探していましたが……冷静にDockerのコンセプトを考え直すと不変領域は別に逃がすものだよなと気付きました。
実際のところ
ボリューム領域をつくる
"docker volume create"でボリューム領域を生成できる。
最初は8kbyteほど
$ docker volume create --name OurVolume OurVolume
最初のコンテナでファイルを作ってみる
$ docker run -it -v OurVolume:/datavolume --name MyCat alpine:latest
$ hostname 3d43d7a7e496 $ ls /datavolume/ $ echo 1234 > /datavolume/foobar.txt $ exit
別のコンテナで先ほど作ったファイルを見てみる
$ docker run -it -v OurVolume:/datavolume --name YourDog alpine:latest
$ hostname 57cab23f9e75 $ cat /datavolume/foobar.txt 1234