Skip to content

Commit

Permalink
dockerfile を追加
Browse files Browse the repository at this point in the history
  • Loading branch information
MasayukiOzawa committed Nov 14, 2017
1 parent 5e1b783 commit c519e5b
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
7 changes: 7 additions & 0 deletions Docker/Dockerfile/docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
if [ -e /tmp/setupdb.sh ]; then
/opt/mssql/bin/sqlservr &
/bin/bash /tmp/setupdb.sh
else
/opt/mssql/bin/sqlservr
fi
19 changes: 19 additions & 0 deletions Docker/Dockerfile/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# https://github.com/Microsoft/mssql-docker
# http://docs.docker.jp/engine/reference/builder.html
# https://github.com/twright-msft/mssql-node-docker-demo-app
# docker build -t sqlserver .
# docker run -d --name sqlcontainer -d -p 1433:1433 sqlserver
# docker logs -f --tail 10 sqlcontainer

FROM microsoft/mssql-server-linux:latest
COPY ./setupdb.sh /tmp
RUN chmod +x /tmp/setupdb.sh
COPY ./docker-entrypoint.sh /usr/mssql/docker-entrypoint.sh
# COPY ./WideWorldImporters-Full.bak /var/opt/mssql/data/WideWorldImporters-Full.bak
ENV SA_PASSWORD=G02HDsQToOn116
ENV MSSQL_PID=Express
ENV ACCEPT_EULA=Y
ENV MSSQL_LCID=1041
ENV TZ=Asia/Tokyo
EXPOSE 1433
ENTRYPOINT [ "/bin/bash", "/usr/mssql/docker-entrypoint.sh" ]
46 changes: 46 additions & 0 deletions Docker/Dockerfile/setupdb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/bin/bash
while [ `cat /var/opt/mssql/log/errorlog | grep "The default collation was successfully changed" | wc -l` -eq 0 ]
do
echo "Wait"
sleep 5s
done

while :
do
/opt/mssql-tools/bin/sqlcmd -S . -U sa -P $SA_PASSWORD -Q "SELECT @@SERVERNAME" -t 5 > /dev/null
if [ $? -eq 0 ]; then
echo "Connected"
break
fi
done

# << COMMENT

if [ ! -f /var/opt/mssql/data/WideWorldImporters-Full.bak ]; then
wget https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak -O /var/opt/mssql/data/WideWorldImporters-Full.bak
fi

SQL="
RESTORE DATABASE WideWorldImporters
FROM DISK='/var/opt/mssql/data/WideWorldImporters-Full.bak'
WITH MOVE 'WWI_Primary' TO '/var/opt/mssql/data/WideWorldImporters.mdf',
MOVE 'WWI_UserData' TO '/var/opt/mssql/data/WideWorldImporters_userdata.ndf',
MOVE 'WWI_Log' TO '/var/opt/mssql/data/WideWorldImporters.ldf',
MOVE 'WWI_InMemory_Data_1' TO '/var/opt/mssql/data/WideWorldImporters_InMemory_Data_1',
STATS=5
"
# COMMENT
/opt/mssql-tools/bin/sqlcmd -S . -U sa -P "${SA_PASSWORD}" -t 0 -Q "${SQL}"

SQL="SHUTDOWN"
/opt/mssql-tools/bin/sqlcmd -S . -U sa -P "${SA_PASSWORD}" -t 0 -Q "${SQL}"

while [ `ps -aux | grep sqlservr | grep -v grep | wc -l` -ne 0 ]
do
echo "Wait"
sleep 5s
done
# ps -aux | grep sqlservr | grep -v grep | awk '{print "kill -9", $2}'| bash

rm /tmp/setupdb.sh
/opt/mssql/bin/sqlservr

0 comments on commit c519e5b

Please sign in to comment.