如何在 Docker SQL Server 映像上运行安装脚本?

2024-04-24

我正在尝试在 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

现在容器运行了,但我无法进行任何初始化

有人知道如何让它工作吗?


将sql server的密码修改得足够复杂。

docker run -d -p 1433:1433 -e "sa_password=ComplexPW2019!" -e "ACCEPT_EULA=Y" <sqlserverimageid>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Docker SQL Server 映像上运行安装脚本? 的相关文章

随机推荐