WindowsコンテナでのSQL Serverデータの永続化

windows-container-sqlserver-data-permanentのアイキャッチ画像 Windows

WindowsコンテナでのWebサイト・CGIの構築方法はこちらをご覧下さい。
山括弧<…>で囲まれている箇所は、ご自身の環境に合わせて書き換える必要があります。

ホストOSでのデータ保存先を作成

ここでは「C:\hoge\docker\db\data」とします。

Dockerコンテナの起動

以下のようにDockerコンテナを起動します。
「C:/sqlserver/data」はDockerコンテナ内のパスです。

docker run -d -p 1433:1433 -e sa_password=<任意のパスワード> -e ACCEPT_EULA=Y -v "C:/hoge/docker/db/data:C:/sqlserver/data" <SQL Serverのコンテナイメージ名>

Dockerコンテナ内でDB作成

ホストOSからSQL Server Management StudioなどでDockerコンテナ内のSQL Serverに接続し、DBを作成します。
その際、mdfファイル、ldfファイルの保存先には「C:/sqlserver/data」を指定します。

Dockerコンテナの停止

データはホストOSの「C:\hoge\docker\db\data」に保存されています。(mdfファイル、ldfファイルが存在しています)

Dockerコンテナの再起動

以下のようにDockerコンテナを起動します。
※dbFilesは「\\」を指定しないと(エラーは出ませんが)失敗します。

docker run -d -p 1433:1433 -e sa_password=<上記と同じパスワード> -e ACCEPT_EULA=Y -e attach_dbs="[{'dbname':'<作成したDB名>','dbFiles':['C:\\hoge\\docker\\db\\data\\<作成したDB名>.mdf','C:\\hoge\\docker\\db\\data\\<作成したDB名>_log.ldf']}]" -v "C:/hoge/docker/db/data:C:/sqlserver/data" <SQL Serverのコンテナイメージ名>

コメント

タイトルとURLをコピーしました