Linux」タグアーカイブ

dockerのnetshareプラグインSystemd設定(CIFS)

さっきの作業で手動起動になっていたdockerのnetshareプラグインのマウントをSystemdに設定する。

まずは、起動用のシェルを準備。

sudo vi /opt/mountnas.sh
sudo chmod 0755 /opt/mountnas.sh

中身

#!/bin/bash

docker-volume-netshare cifs --domain ドメイン名 (※)


※domainはdocker実行時にも指定できるので削除

また、uid,gidはdocker実行時には指定できないので必要があればここで指定するしかない
その場合は下のようにdocker-volume-netshare起動時にオプション指定しておくことになるがSystemdに設定するとuid,gidがいつも同じになってしまう。きれいに動かしたかったら、プラグインカスタマイズしてdocker実行時にuid,gidを指定できるようにするしかないのかな?

docker-volume-netshare cifs -o uid=hoge,gid=fuga

次にUnit定義ファイル

sudo vi /etc/systemd/system/mountnas.service

中身

[Unit]
Description=Mount NAS as Docker Volume Service

Before=docker.service

[Service]
ExecStart=/opt/mountnas.sh

[Install]
WantedBy=multi-user.target
sudo systemctl enable mountnas
sudo systemctl start mountnas
$sudo systemctl status mountnas -l
● mountnas.service - Mount NAS as Docker Volume Service
   Loaded: loaded (/etc/systemd/system/mountnas.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-01-21 17:57:27 JST; 55s ago
 Main PID: 3986 (mountnas.sh)
   Memory: 952.0K
   CGroup: /system.slice/mountnas.service
           tq3986 /bin/bash /opt/mountnas.sh
           mq3988 docker-volume-netshare cifs --domain EPEAGR

 1月 21 17:57:27 localhost.localdomain systemd[1]: Started Mount NAS as Docker Volume Service.
 1月 21 17:57:27 localhost.localdomain systemd[1]: Starting Mount NAS as Docker Volume Service...
 1月 21 17:57:27 localhost.localdomain mountnas.sh[3986]: time="2018-01-21T17:57:27+09:00" level=warning msg="Error: open .netrc: no such file or directory"
 1月 21 17:57:27 localhost.localdomain mountnas.sh[3986]: time="2018-01-21T17:57:27+09:00" level=info msg="== docker-volume-netshare :: Version: 0.34 - Built: 2017-05-29T13:06:34-07:00 =="
 1月 21 17:57:27 localhost.localdomain mountnas.sh[3986]: time="2018-01-21T17:57:27+09:00" level=info msg="Starting CIFS :: netrc: , opts:

warningで「.netrcないからエラー」とかいわれているけど、認証情報はshellから入れているのでたぶん気にしなくてOK

念のため、再起動して動作確認

sudo shutdown -r now
systemctl status mountnas

次はownClowdの設定