簡體   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