【问题标题】:Laravel Sail/Docker - Unable to locate package msodbcsql17Laravel Sail/Docker - 无法找到包 msodbcsql17
【发布时间】:2021-08-09 14:54:14
【问题描述】:

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

该特定文档说要下载并运行。将其转换为 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 \
...

【问题讨论】:

    标签: sql-server docker laravel-sail


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 2021-06-11
      • 1970-01-01
      • 2021-04-21
      • 2023-01-10
      • 2022-06-20
      • 2022-10-15
      • 2022-08-08
      • 2021-09-01
      相关资源
      最近更新 更多