I wanted to modify the behavior of container for SQL Server Linux by adding a simple database with one table as the container starts.
The docker image version where I am seeing this issue with is the latest version as of 5/20/2017 i.e. ctp2-1.
I am using Docker for Windows with the latest version at 17.05.0-ce. I increased RAM of the MobyLinuxVM to 6144MB since more than 4GB is recommended.
Steps to reproduce issue
PREPARE FILES
(1) Create a local Windows folder, in my case, C:\temp\docker\ (2) Add "Dockerfile" (note no file extension) with the following content. FROM microsoft/mssql-server-linux:latest COPY ./custom /tmp RUN chmod +x /tmp/entrypoint.sh \ && chmod +x /tmp/createdb.sh CMD /bin/bash /tmp/entrypoint.sh (3) Add a subfolder "custom" C:\temp\docker\custom\ (4) Add 3 files to "custom" subfolder with following content. (A) entrypoint.sh /opt/mssql/bin/sqlservr & /tmp/createdb.sh (B) createdb.sh sleep 30s /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '!StrongPass45' -d master -i /tmp/createdb.sql (C) createdb.sql CREATE DATABASE DemoData; GO USE DemoData; GO CREATE TABLE Products (ID int, ProductName nvarchar(max)); GO RUN DOCKER COMMANDS (YOU WILL SEE THE ISSUE AT THE LAST STEP HERE)
(1) Open PowerShell and cd to folder in step (1) above, in my case cd C:\temp\docker (2) Run docker build command docker build . (3) After image is built, run the following command and remember the first 3 letters of your image id, in my case "e65" docker images [![enter image description here][2]][2] (4) Create the container with the following command (note the last 3 characters should be replaced by yours, also use the same password you used above) docker run -d -e SA_PASSWORD="!StrongPass45" -e ACCEPT_EULA="Y" -p 1433:1433 e65 (5) Check your container is running docker ps -a [![enter image description here][2]][2] (6) Wait about 2 minutes and check your container status again. AT THIS POINT, THE CONTAINER WOULD HAVE EXITED. docker ps -a [![enter image description here][2]][2] I checked the logs as follows.
docker logs e65 Attached below is the bottom part of logs right after SQL Server has successfully created the DemoData database.
[![enter image description here][2]][2] IMO, the problem line in the logs is this one
Parallel redo is shutdown for database 'DemoData' with worker pool size [1]. I have tried various other SQL statements (even adding custom MDF and LDF files and attaching to them) to add behavior to OOB image. I have even been able to connect to the new database using SSMS for a few seconds before the container exits!
Has anyone seen this issue? Can someone give this a try?


