Skip to content

Commit 0336a76

Browse files
committed
Fix: add ARM64 support by switching to Azure SQL Edge and updating to mssql-tools18 with SSL trust flag
1 parent 8abd0dd commit 0336a76

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

Dockerfile

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM mcr.microsoft.com/mssql/server:2019-latest
1+
FROM mcr.microsoft.com/azure-sql-edge:latest
22
EXPOSE 1433
33

44
LABEL "MAINTAINER" "Enrique Catalá Bañuls <enrique@enriquecatala.com>"
@@ -14,6 +14,20 @@ COPY entrypoint.sh ./
1414

1515
# Since SQL Server 2019 is non-root container, we need to force this to install packages
1616
USER root
17+
18+
# Install mssql-tools18 (SQL Server command-line tools)
19+
RUN apt-get update && \
20+
apt-get install -y curl apt-transport-https gnupg && \
21+
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
22+
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
23+
apt-get update && \
24+
ACCEPT_EULA=Y apt-get install -y mssql-tools18 unixodbc-dev && \
25+
apt-get clean && \
26+
rm -rf /var/lib/apt/lists/*
27+
28+
# Add mssql-tools to PATH
29+
ENV PATH="$PATH:/opt/mssql-tools18/bin"
30+
1731
RUN chown -R 10001:0 setup.sh entrypoint.sh
1832

1933
# Get to the default user

setup.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ while [[ $STATUS -ne 0 ]] && [[ $i -lt 60 ]]; do
1414
i=$i+1
1515
echo "*************************************************************************"
1616
echo "Waiting for SQL Server to start (it will fail until port is opened)..."
17-
/opt/mssql-tools/bin/sqlcmd -t 1 -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -Q "select 1" >> /dev/null
17+
/opt/mssql-tools18/bin/sqlcmd -C -t 1 -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -Q "select 1" >> /dev/null
1818
STATUS=$?
1919
sleep 1
2020
done
@@ -28,7 +28,7 @@ fi
2828
echo "======= MSSQL SERVER STARTED ========" | tee -a ./config.log
2929

3030
echo "*********** Preparing SQL Server instance features: Contained databases " | tee -a ./config.log
31-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.instance.sql
31+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.instance.sql
3232

3333
# If the wideworldimportersdw is restored, we don´t need to restore it again
3434
#
@@ -40,25 +40,25 @@ echo "FORCE_ATTACH_IF_MDF_EXISTS: $FORCE_ATTACH_IF_MDF_EXISTS" | tee -a ./config
4040
if [ ! -f "$file" ]
4141
then
4242
echo "*********** Restoring databases: WideWorldImporters, Adventureworks, tpcc ..." | tee -a ./config.log
43-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.restore.sql
43+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.restore.sql
4444

4545
case $INCLUDE_ALL_DATABASES in
4646
1) echo "*********** Restoring big databases: WideWorldImportersDW, AdventureworksDW, StackOverflow..." | tee -a ./config.log
47-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.other_databases.restore.sql
48-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.bigdatabases.restore.sql
47+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.other_databases.restore.sql
48+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.bigdatabases.restore.sql
4949
;;
5050
*) echo "INCLUDE_ALL_DATABASES is not set; defaulting to not include all databases." | tee -a ./config.log
5151
;;
5252
esac
5353
else
5454
case $FORCE_ATTACH_IF_MDF_EXISTS in
5555
1) echo "*********** Attaching previously restored databases..." | tee -a ./config.log
56-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.attach.sql
56+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.attach.sql
5757

5858
case $INCLUDE_ALL_DATABASES in
5959
1) echo "*********** Attaching previously restored big databases..." | tee -a ./config.log
60-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.other_databases.attach.sql
61-
/opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.bigdatabases.attach.sql
60+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.other_databases.attach.sql
61+
/opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -U sa -P $MSSQL_SA_PASSWORD -d master -i /var/opt/mssql/setup/setup.bigdatabases.attach.sql
6262
;;
6363
*) echo "INCLUDE_ALL_DATABASES is not set; defaulting to not include all databases." | tee -a ./config.log
6464
;;

0 commit comments

Comments
 (0)