Laravel Sail/Docker - 无法找到包 msodbcsql17

Laravel Sail/Docker - Unable to locate package msodbcsql17

我正在尝试让 Laravel Sail Docker 与 sqlsrv (MSSQL) 兼容。我在配置方面取得了长足的进步,并得到它来安装 sqlsrv 和 pdo_sqlsrv。所以现在我需要安装 msodbcsql17。为此,我遵循 Ubuntu 20.04(因为这是我的版本)的 Microsoft 指南 (https://docs.microsoft.com/nl-nl/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15)。

那个特定的文档说要下载 运行。将其转换为 Sail Docker 文件,我的 Docker 文件的那部分如下所示:

...
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get install -y msodbcsql17 \
...

所以只需下载文件并将其放在推荐的位置即可。但无论我做什么,它总是返回代码 100:Unable to locate package msodbcsql17。所以我最好的猜测是默认情况下 apt-get 安装不会读取该位置。欢迎提出任何建议。

更新: 所以感谢回答,这是解决方案:

...
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update \
&& ACCEPT_EULA=Y apt-get install -y msodbcsql17 \
&& ACCEPT_EULA=Y apt-get install -y mssql-tools \
...

默认情况下,大多数 docker 图像都有一个空的包列表以节省图像大小。这就是为什么您需要先 apt-get update 的原因。这不会更新任何软件(即 apt-get upgrade),而只会更新软件包列表。该命令实际上也在您链接的 Microsoft 说明中。