繁体   English   中英

Laravel Sail/Docker - 无法定位 package msodbcsql17

[英]Laravel Sail/Docker - Unable to locate package msodbcsql17

我正在尝试让 Laravel Sail Docker 与 sqlsrv (MSSQL) 兼容。 我在配置方面已经走了很长一段路,并让它安装 sqlsrv 和 pdo_sqlsrv。 所以现在我需要安装 msodbcsql17。 为此,我正在遵循微软指南( https://docs.microsoft.com/nl-nl/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server? view=sql-server-ver15 )为 Ubuntu 20.04 (因为那是我的版本)。

该特定文档说要下载并运行。 将其转换为 Sail Dockerfile,我的 Dockerfile 的那部分看起来像这样:

...
&& 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 install 默认不读取该位置。 欢迎任何建议。

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

...
&& 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 图像都有一个空的 package 列表以节省图像大小。 这就是为什么您需要先进行apt-get update的原因。 这不会更新任何软件(即apt-get upgrade ),而只会更新 package 列表。 该命令实际上也在您链接的 Microsoft 说明中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM