LoginSignup
1
1

More than 5 years have passed since last update.

runC でユーザディレクトリ領域をマウントする

Last updated at Posted at 2015-09-19

runC でユーザのディレクトリをマウントさせて, データを読ませたりコンテナ内で実行した結果を書き込みたいですよね!

やってみましょう.

$ pwd
/home/docker-user/

$ mkdir data
$ touch data/bora

data ディレクトリを runtime.json の mounts に登録します.

        "mounts": {
                "data": {
                        "type": "bind",
                        "source": "/home/docker-user/data",
                        "options": [
                                "rbind",
                                "rw"
                        ]
                },
                ...

すでにあるホスト側のディレクトリの場合, type には bind を指定するようです.

config.json にマウント情報を追加します.

        "mounts": [
                {
                        "name": "data",
                        "path": "/data"
                },

ホスト側の /home/docker-user/data ディレクトリを, コンテナ内では /data にマウントします.

ディレクトリの権限に応じて, uid, gid を調整します. 今回はホスト側の docker-user アカウントの uid, gid とすることで, ホスト側の docker-user 権限でコンテナを実行することにします.

        "process": {
                "terminal": true,
                "user": {
                        "uid": 1001,
                        "gid": 1001,
                        "additionalGids": null
                },
                "args": [
                        "cp", "bora", "dora"
                ],
                "env": [
                        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                        "TERM=xterm"
                ],
                "cwd": "/data"
        },

実行してみます

$ ls -la data
total 16
drwxrwxr-x  2 docker-user docker-user 4096 Sep 19 12:31 .
drwxr-xr-x 12 docker-user docker-user 4096 Sep 19 12:40 ..
-rw-rw-r--  1 docker-user docker-user    5 Sep 19 12:25 bora

$ sudo runc start

$ ls -la data
total 16
drwxrwxr-x  2 docker-user docker-user 4096 Sep 19 12:31 .
drwxr-xr-x 12 docker-user docker-user 4096 Sep 19 12:40 ..
-rw-rw-r--  1 docker-user docker-user    5 Sep 19 12:25 bora
-rw-r--r--  1 docker-user docker-user    5 Sep 19 12:31 dora

Voila! コンテナ内でファイルがうまくコピーされてホスト側のディレクトリに反映されています.

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1