Systemd の設定

Posted: , Modified:  

マウントユニット

ファイルシステムのマウントを設定する. ユニットファイルはマウントポイントによって決まり拡張子は .mount.例えば,/var/data にマウントする場合, ユニットファイル名は var-data.mount と / を - に置き換える.パスに - が含まれている場合はエスケープする.

NFS を用いてマウントする例

[Unit]
Description=some network hdd

[Mount]
What=192.168.0.5:/data
Where=/var/data
Type=nfs
Options=nolock

[Install]
WantedBy=multi-user.target

サービスユニット

Docker 用サービスを起動する設定.docker イメージの作成から行えるが,今回は既にあるイメージを起動する.

[Unit]
Description=Apache2
After=docker.service var-data.mount
Requires=docker.service var-data.mount

[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill apache2
ExecStartPre=-/usr/bin/docker rm apache2
ExecStart=/usr/bin/docker run --name apache2 -v /var/data:/var/www/html:rw -p 80:80 apache2:latest
ExecStop /usr/bin/docker stop apache2

[Install]
WantedBy=multi-user.target

ユニットの有効化

$ sudo systemctl enable /etc/systemd/system/var-data.mount

参考書籍