Это потому, что запуск SQL-Server приводит к ошибке. Ошибка может быть найдена в журнале ошибок. К сожалению, вы не можете получить к нему доступ, потому что контейнер заканчивается. Для просмотра журнала ошибок вам необходимо предоставить общий доступ к этому каталогу ...
На хосте создайте место, где контейнер хранит данные:
sudo mkdir -p /var/opt/mssql
Создайте Docker-контейнерс отображенным каталогом данных:
docker pull mcr.microsoft.com/mssql/server:2017-latest
docker run -d -p 2017:1433 --name mssql_2017 -e MSSQL_SA_PASSWORD=TOP_SECRET -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -v /var/opt/mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
(примечание: это сопоставляет порт 1433 в контейнере с портом 2017 на хосте)затем, чтобы запустить / остановить контейнер:
docker start mssql_2017
docker stop mssql_2017
Теперь вы можете посмотреть на ошибки в /var/opt/mssql/log
на вашем хост-компьютере.
Кроме того, вы можете проверить, работает ли он, подключившись с помощью sqlcmd:
Для Fedora:
sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
exit
sudo yum clean expire-cache
sudo yum check-update
sudo yum remove mssql-tools unixODBC-utf16-devel
sudo yum install mssql-tools unixODBC-devel
sudo ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
sqlcmd -S localhost,2017 -U SA -P "<YourPassword>"
Для Ubuntu:
sudo wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
sudo apt-get update
sudo apt-get install mssql-tools
sudo ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
sqlcmd -S localhost,2017 -U SA -P "<YourPassword>"