我正在尝试在 Docker SQL Server 映像上运行安装脚本
为此,我从 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
In 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
现在容器运行了,但我无法进行任何初始化
有人知道如何让它工作吗?