VOLTECHNO(ボルテクノ)

ガジェットとモノづくりのニッチな情報を伝えるメディア

2021年11月17日

Synology NASのDockerパッケージでDocker Composeを使用する方法

Synology NASのDockerパッケージでDocker Composeを使用する方法

Docker Composeとは、複数のコンテナを扱うDockerアプリケーションを実行・定義するツールです。Synology NASには強力なGUIベースのDockerパッケージが存在しますが、それとは別にDocker Composeを使ってコンテナを一括管理させることも可能です。

  • Synology NASのDockerでDocker Composeを使用する方法を解説
  • Synolgoy DS916+を使用
  • Docker Composeで起動したコンテナもGUIで管理可能
  • SSHで操作

SynologyのDockerパッケージでもDocker Composeが使える

SynologyのplusシリーズのNASは、DSM上で動くDockerパッケージを提供しています。

Synologyで動くDockerは、コンシューマ向けの最上位モデルのPlusシリーズにしか対応していませんが、GUIによる操作の簡便性によってDockerコンテナを手軽に管理・運用できる特徴があります。しかし、複数のコンテナをリンクさせるコンテナなどを構成する場合だと、逆に手間が掛かったり使いにくい部分もあります。

そんな時に使うのが、複数のコンテナを使うDockerアプリケーションを定義・実行するDocker Composeです。

どうやらSynology NAS上でもComposeが走るようなので、今回はSynology NAS上のDockerでDocker Composeを操作する方法について解説します。

Docker Composeを使うための前準備

Synology NAS上のDockerはGUIベースで管理・運用するパッケージなので、GUI上でymlファイルを読み込ませるとかそういう機能はありません。

Docker Composeでは従来通りCUIベースのターミナルで操作する必要があります。

事前準備① Synology NASのSSH接続を有効化

Synology NASのDocker ComposeはGUIに対応していないので、ターミナル上で操作を行うためにSSHを有効にします。

SSHサービスを有効にするために、コントロールパネルの「端末とSNMP」メニューから「ターミナルタブ」を開き「SSHサービスを有効化する」にチェックを入れます。SSH接続時のユーザー名とパスワードはDSMログイン時のアカウント情報と同じです。

SSH接続が行えるユーザーは「administrator」グループのユーザーのみと定義されているため、SSH接続を行うユーザーのグループを確認します。

コントロールパネルの「ユーザー」からSSHログインを行うユーザーを選択する。
「ユーザーグループ」タブから「administrator」グループに入っているか確認する。

事前準備② リモートクライアントをインストール

DSM上にターミナルはないので、クライアント側から接続を行うソフトウェアをインストールします。

SSH接続できれば何でも良いので、Windowsなら「Poderosa」「Tera Team」、Macなら「ターミナル」や「iTerm 2」、iOSだと「iTerminal」などを使用します。

本記事ではTera Teamを使って解説します。

Synology NASにSSHでログインしてコンソールから操作

Synology上のDockerはスーパーユーザー権限で操作を行います。sudoでroot権限を取得します。

$ sudo -i

あとの使い方は通常のDocker Composeと変わりません。

docker-compose.ymlが配置されているフォルダに移動して、upコマンドを叩くと通常のDocker環境と同じようにDocker Composeを操作できます。今回の解説ではDjangoの開発環境を構成にComposeを使用します。

平行してDSM側のDocker GUIの状態も更新されるので、Conposeを使って起動したコンテナのステータスチェックや稼働状況の確認などもDSM上から確認できます

# docker-compose up -d
端末からDocker Composeを叩いてコンテナを起動する。画像はDjango, MySQL, Nginxの3層構成のWebアプリサーバーを起動させているところ。構成自体もDocker Composeで行っている。
端末上のDocker Composeで起動したコンテナもDSMのDockerパッケージGUI上から稼働状況を確認できる。

優秀なSynology NAS、開発・テスト環境としても性能を発揮

Synology NASのDockerパッケージのGUIは便利なので、色々なコンテナを構成してしまいますが、再構成時の設定が面倒と思い始めていたので、Composeの使い方を知れたのはちょうどいいタイミングでした。

docker-compose.ymlはもちろんのこと、DockerfileやPython依存のrequirements.txtも使用できるのでSynology NASの可能性は更に広まります。今回のDocker Composeの例ではPythonのWebフレームワークDjango3.0.6の3層Webアプリケーションサーバーを構成してみましたが、数分程度で構成できたので満足しています。

SynologyのNASには簡単に設置できるGitLabやHyper Buckupによる強力なバックアップ機能も備えているので、単なるビジネスストレージの用途以外にも開発サーバとしても優秀な製品です。

Synology NAS Plusシリーズ

拡張ユニット DXシリーズ

Return Top