我将尝试在Docker SQL Server镜像上运行安装脚本。
为此,我已从mssql镜像创建了一个Dockerfile。
在
当我运行这个脚本时,数据库启动,安装程序运行,安装程序完成后容器关闭。因此我认为脚本中的某些内容导致容器关闭,因此我将脚本简化到最少。
那也会在
接下来继续...
现在容器已经运行了,但是我无法进行任何初始化。有人知道如何让它工作吗?
为此,我已从mssql镜像创建了一个Dockerfile。
FROM microsoft/mssql-server-linux:2017-CU8
# Create directory to place app specific files
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Copy setup scripts
COPY entrypoint.sh \
./
RUN chmod +x ./entrypoint.sh
CMD /bin/bash ./entrypoint.sh
在
entrypoint.sh
中,我正在启动SQL Server并想运行一些设置命令。#!/bin/bash
#start SQL Server
/opt/mssql/bin/sqlservr &
echo 'Sleeping 20 seconds before running setup script'
sleep 20s
echo 'Starting setup script'
#run the setup script to create the DB and the schema in the DB
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <MyPassWd> -d master -i setup.sql
echo 'Finished setup script'
当我运行这个脚本时,数据库启动,安装程序运行,安装程序完成后容器关闭。因此我认为脚本中的某些内容导致容器关闭,因此我将脚本简化到最少。
#!/bin/bash
#start SQL Server
/opt/mssql/bin/sqlservr &
echo 'Sleeping 20 seconds before running setup script'
sleep 20s
那也会在
sleep 20s
完成后停止容器。接下来继续...
#!/bin/bash
#start SQL Server
/opt/mssql/bin/sqlservr &
立即停止容器
然后...
#!/bin/bash
#start SQL Server
/opt/mssql/bin/sqlservr
现在容器已经运行了,但是我无法进行任何初始化。有人知道如何让它工作吗?