実行と接続 Docker - docs.microsoft.com
Microsoft SQL Server - hub.docker.com
Linux および macOS に Microsoft ODBC Driver for SQL Server をインストールする
Ubuntu の無人インストール用の SQL Server のインストール スクリプト
Install Microsoft SQL Drivers for PHP 7 in Docker
DockerでSQLServerを触ってみる
sa ユーザパスワードを厳格にしないとデーモンが立ち上がらない Fxxk Off セキュアなデータベースサーバなので注意。あと利用 DB の指定 & 作成を環境変数から行えない クソザコ 仕様なため開発環境ではデータベースを新規作成する必要あり。くそだるい。
# SQL Server さまはメモリ 2GB が必須要件な kusozako DB なので ...
$ docker-machine stop
$ VBoxManage modifyvm default --memory 4096
$ docker-machine start
# docker-compose.yml
version: '3'
services:
db:
image: mcr.microsoft.com/mssql/server:2017-latest
# デーモン起動前に sqlcmd の PATH 通し
command: >
bash -c "
ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd &&
/opt/mssql/bin/sqlservr
"
environment:
ACCEPT_EULA: 'Y'
MSSQL_PID: 'Developer'
MSSQL_SA_PASSWORD: $DB_PASSWORD
MSSQL_TCP_PORT: '1433'
# UTF-8 対応は 2019 からとかいうクソザコ
MSSQL_COLLATION: 'Japanese_CS_AS_KS_WS'
ports:
- "1433:1433"
volumes:
- mssql_data:/var/opt/mssql
volumes:
mssql_data:
# Dockerfile for PHP
# PHP コンテナにて sqlsrv ドライバを有効化
#
# Settings for sqlsrv, pdo_sqlsrv extension.
RUN apt-get update && apt-get install apt-transport-https -y
RUN curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN apt-get update && apt-get install unixodbc-dev -y
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y mssql-tools msodbcsql17
RUN pecl install sqlsrv pdo_sqlsrv \
&& docker-php-ext-enable sqlsrv pdo_sqlsrv
# 初回の create database.
$ docker-compose exec db bash
$ sqlcmd -U sa -P $MSSQL_SA_PASSWORD -Q 'create database my_database;'