我正在尝试使用 SQL Server 和 SSIS 构建 Docker 映像。
我使用 docker linux 容器中的 SSISDB/SSIS 响应中的模板创建了一个 Dockerfile?第213章 .
我使用 Microsoft 在 Linux 上安装 SSIS 的说明更新了代码。
FROM
指令指的是Microsoft 用于 SQL Server 2022 的基于 Ubuntu 的 Docker 映像。 这是我的 Dockerfile:
FROM mcr.microsoft.com/mssql/server:2022-latest
USER root
RUN apt-get update && \
apt-get install -y software-properties-common curl && \
rm -rf /var/lib/apt/lists/*
RUN curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc
RUN add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
RUN apt-get update
RUN apt-get install -y mssql-server-is
RUN SSIS_PID=Developer ACCEPT_EULA=Y /opt/ssis/bin/ssis-conf -n setup
RUN mkdir -p /home/mssql/.ssis/.system
RUN chmod -R 777 /home/mssql
RUN cp /root/.bashrc /home/mssql/.bashrc
RUN echo "\nexport PATH=/opt/ssis/bin:$PATH" > /home/mssql/.bashrc
USER mssql
但是,当我运行它时,我收到一条错误消息“无法写入许可信息”:
=> ERROR [ 7/11] RUN SSIS_PID=Developer ACCEPT_EULA=Y /opt/ssis/bin/ssis-conf -n setup 0.4s
------
> [ 7/11] RUN SSIS_PID=Developer ACCEPT_EULA=Y /opt/ssis/bin/ssis-conf -n setup:
0.390 Could not write licensing information.
------
Dockerfile:15
--------------------
13 | RUN apt-get install -y mssql-server-is
14 |
15 | >>> RUN SSIS_PID=Developer ACCEPT_EULA=Y /opt/ssis/bin/ssis-conf -n setup
16 |
17 | RUN mkdir -p /home/mssql/.ssis/.system
--------------------
ERROR: failed to solve: process "/bin/sh -c SSIS_PID=Developer ACCEPT_EULA=Y /opt/ssis/bin/ssis-conf -n setup" did not complete successfully: exit code: 1
我的搜索没有发现任何与此错误相关的内容。我错过了什么?
在“常规”选项卡上,确保选择
Use Virtualization framework
Use Rosetta for x86/amd64 emulation on Apple Silicon
:我在这里所做的只是“实验性”,因为目前(或在可预见的将来)没有“官方”方法可以在 ARM 上运行 SQL Server 和 SQL Server Integration Services (SSIS)。但是,我没有专门为其他人发现这个错误,所以我发布了这个问题。