Dockerイメージを使用しDBにSQL Serverを指定して起動する
概要¶
データベースにSQL Serverを指定して、公式Dockerイメージからプリザンターを起動する手順です。
注意事項¶
- 本ページの手順は、プリザンターをすぐに試したいユーザのために、SQL Serverコンテナをプリザンターと同一のDocker構成に含めた複数コンテナ構成を採用しています。この構成は本番運用を想定したものではありません。
- 本番運用では、データベースコンテナが性能上のボトルネックになります。 別ホスト上のデータベース とすることを強く推奨します。
- タイムゾーンを日本に、言語を日本語にしています。適宜変更してください。
-
SQL Serverの公式Dockerイメージ(mcr.microsoft.com/mssql/server:2025-latest)のエディションは既定でEnterprise Developer Editionですが、本手順ではExpression Editionを利用します。エディションを変更する必要がある場合は、.envのMSSQL_PIDの値をマイクロソフト社のドキュメントを参考に書き替えてください。
.env -
SQL Serverへの接続には信頼された証明書によるTLS暗号化が必要です。本手順では証明書の検証を省略していますので注意してください。本番環境では適切な証明書を設定してください。詳細は「プリザンター1.5以降でDBにSQL Serverを使用する際の接続文字列についての注意事項」を参照してください。
前提条件¶
-
本手順ではデータベースとしてSQL Serverを使用します。他データベースを使用する手順は以下を参照してください。
- Dockerで起動する(PostgreSQL)
- Dockerイメージを使用しパラメータを既定値から変更して起動する(PostgreSQL)
- Dockerイメージを使用しDBにMySQLを指定して起動する(MySQL)
-
本手順は、以下2件のマニュアルの手順通りプリザンターの公式Dockeイメージを使用の上、パラメータファイルを変更して起動できることを前提としています。データベースの作成は不要です。
未読の場合は上記マニュアルを参照して、プリザンターの公式Dockeイメージを使用の上、パラメータファイルを変更して起動できることを確認してください。
操作手順¶
1. フォルダ、ファイルを配置する¶
プロジェクトディレクトリ(以下例ではpleasanter)にフォルダを以下のように構成し、ファイルを配置します。
📁 pleasanter
+--📁 app_data_parameters
| +--📄 Rds.json
| +--📄 Service.json
|
+--📁 CodeDefiner
| +--📄 Dockerfile
|
+--📁 Pleasanter
| +--📄 Dockerfile
|
+--📁 SQLServer
| +--📄 Dockerfile
|
|--📄 .env
+--📄 compose.yml
1-1 パラメータファイル¶
- ダウンロードセンターから、プリザンターをダウンロードします。特段理由がない場合は最新バージョンをダウンロードしてください。過去にリリースした特定のバージョンが必要な場合は、該当のバージョンのプリザンターをダウンロードしてください。
- zipファイルを解凍してください。
- 解凍したフォルダ配下にある「\pleasanter\Implem.Pleasanter\App_Data\Parameters」内の「Rds.json」と「Service.json」をapp_data_parametersフォルダ配下にコピーしてください。
- 「Rds.json」と「Service.json」を以下のように編集してください。
1-1-1 app_data_parameters/Rds.json¶
- "Dbms"の値を"SQLServer"に設定してください。
- "SaConnectionString"、"OwnerConnectionString"、"UserConnectionString"の値をnullに設定してください。
| app_data_parameters/Rds.json | |
|---|---|
1-1-2 app_data_parameters/Service.json¶
- "TimeZoneDefault"の値を"Asia/Tokyo"に設定してください。SQL ServerのベースイメージはLinuxであり、Linuxのタイムゾーンを設定する必要があるためです。
- "DefaultLanguage"の値を"ja"(日本語)に設定してください。
| app_data_parameters/Service.json | |
|---|---|
1-2 CodeDefiner/Dockerfile¶
CodeDefiner/Dockerfileを以下の内容で作成します。
| CodeDefiner/Dockerfile | |
|---|---|
1-3 Pleasanter/Dockerfile¶
Pleasanter/Dockerfileを以下の内容で作成します。
| Pleasanter/Dockerfile | |
|---|---|
1-4 SQLServer/Dockerfile¶
フルテキスト検索を有効にするため、SQL Serverのイメージをベースにして、フルテキスト検索をインストールします。
1-5 .env¶
{{ ... }}はご利用環境に合わせて適宜修正してください。接続文字列中のTrustServerCertificate=true;については。こちらを確認してください。
1-6 compose.yaml¶
compose.yamlを以下の内容で作成します。
2. コンテナイメージをビルドする¶
以下のコマンドを実行してください。各サービス(pleasanter、codedefiner、db)をビルドします。オプション--pullを指定することで、イメージの更新を確認し、最新のイメージを取得します。
3. コンテナを起動する¶
以下のコマンドを実行してください。dbコンテナ(SQL Server)を起動します。
以下のコマンドを実行してください。codedefinerコンテナが起動し、データベースを初期化します。本手順ではあらかじめService.jsonでタイムゾーンと言語を設定しているため、/l、/zオプションの指定は不要です。初期化前の確認手順を省きたい場合は/yオプションを付与してください。
4. プリザンターを起動する¶
4-1 プリザンターのコンテナを起動する¶
以下のコマンドを実行してください。プリザンターのコンテナが起動します。
4-2 動作確認¶
-
ブラウザで以下のURLにアクセスしてください。
-
ログイン画面にて以下のように入力します。
ログインID パスワード Administrator pleasanter -
ログイン後、パスワードの変更を求められますので、適宜パスワードを設定してください。
4-3 SQL Serverコンテナに接続する¶
SSMSや各種対応ツールから、ホストの11433番ポート経由で接続できます。compose.ymlにより、コンテナ内のSQL Server(1433番ポート)にマッピングされています。
5. コンテナの停止と削除¶
5-1 コンテナを停止する¶
コンテナの停止は、以下のコマンドを実行します。
コンテナを停止してもDBデータ(ボリューム)は削除されません。
5-2 停止したコンテナを再開する¶
停止したコンテナを再開する場合は、以下のコマンドを実行します。
コンテナを停止してもDBデータ(ボリューム)は削除されません。再開する際にはデータがそのまま利用できます。
5-3 コンテナを削除する¶
コンテナの削除は、以下のコマンドを実行します。コンテナを削除してもDBデータ(ボリューム)は削除されません。
なお、コンテナを削除した場合、docker compose startでの再開はできません。
5-4 コンテナを再作成する¶
コンテナを作成して、起動したい場合は、以下のコマンドを実行します。DBのコンテナが作成され、DBデータ(ボリューム)を利用できます。
5-5 コンテナ削除と同時にDBデータを削除する¶
コンテナを削除する時に同時にDBデータ(ボリューム)を削除する場合は、ボリュームを削除するオプション(-v)を付けて実行します。
6. パラメータ変更後にCodeDefinerを実行する場合¶
「システムログの拡張機能」の利用時などパラメータを設定後にCodeDefinerを実行する場合は以下手順で実行してください。
- 操作手順1. を行い、app_data_parametersに変更したパラメータファイルを格納し、.env、compose.yamlを作成します。
- プリザンターが起動中の場合は以下コマンドを実行し、コンテナを停止して削除します。
- 以下コマンドを実行し、pleasanterコンテナとcodedefinerコンテナをビルドします。
- CodeDefinerを実行します。
- pleasanterコンテナを起動します。
関連情報¶
Dockerで起動する
Dockerイメージを使用しパラメータを既定値から変更して起動する
Dockerイメージのプリザンターをバージョンアップする
