首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >M1 MacBook上Ubuntu (20.10) Docker镜像上的MSSQL工具

M1 MacBook上Ubuntu (20.10) Docker镜像上的MSSQL工具
EN

Stack Overflow用户
提问于 2021-07-13 14:19:42
回答 2查看 468关注 0票数 1

在我的M1 MacbookPro上,我创建了一个Dockerfile文件:

代码语言:javascript
复制
FROM ubuntu:20.10

RUN apt-get update
RUN apt-get install -y curl gnupg2

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

RUN curl https://packages.microsoft.com/config/ubuntu/20.10/prod.list > /etc/apt/sources.list.d/mssql-release.list

RUN exit
RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17

RUN ACCEPT_EULA=Y apt-get install -y mssql-tools
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
RUN source ~/.bashrc

它使用Ubuntu 20.10镜像,并尝试安装Microsoft's ODBC Driver。我已经按照Microsoft's documentation执行了命令。

当我运行构建时,我得到了一个错误的Unable to locate package msodbcsql17。我尝试在容器中运行和SSHing,但仍然得到相同的错误。

代码语言:javascript
复制
% docker build .           
[+] Building 5.3s (11/14)                                                                                                                                                                    
 => [internal] load build definition from Dockerfile                                                                                                                                    0.4s
 => => transferring dockerfile: 37B                                                                                                                                                     0.0s
 => [internal] load .dockerignore                                                                                                                                                       0.5s
 => => transferring context: 2B                                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/ubuntu:20.10                                                                                                                         2.8s
 => [ 1/11] FROM docker.io/library/ubuntu:20.10@sha256:6b603b0f3b8fc71b1a97bd38e081e8df04793f1447362c12385b48106aaded3f                                                                 0.0s
 => CACHED [ 2/11] RUN apt-get update                                                                                                                                                   0.0s
 => CACHED [ 3/11] RUN apt-get install -y curl gnupg2                                                                                                                                   0.0s
 => CACHED [ 4/11] RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -                                                                                           0.0s
 => CACHED [ 5/11] RUN curl https://packages.microsoft.com/config/ubuntu/20.10/prod.list > /etc/apt/sources.list.d/mssql-release.list                                                   0.0s
 => CACHED [ 6/11] RUN exit                                                                                                                                                             0.0s
 => CACHED [ 7/11] RUN apt-get update                                                                                                                                                   0.0s
 => ERROR [ 8/11] RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17                                                                                                                      1.8s
------                                                                                                                                                                                       
 > [ 8/11] RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17:                                                                                                                                 
#11 0.893 Reading package lists...                                                                                                                                                           
#11 1.278 Building dependency tree...                                                                                                                                                        
#11 1.347 Reading state information...
#11 1.394 E: Unable to locate package msodbcsql17
------
executor failed running [/bin/sh -c ACCEPT_EULA=Y apt-get install -y msodbcsql17]: exit code: 100
EN

回答 2

Stack Overflow用户

发布于 2021-10-14 14:17:45

我遇到了与上面的问题类似的问题,我发现这个问题是由于没有适用于arm64架构(M1 Mac)的msodbcsql17包。解决方案是将docker文件开头的基础图像更改为

代码语言:javascript
复制
FROM --platform=linux/amd64 python:3.8.6

或者在你的情况下

代码语言:javascript
复制
FROM --platform=linux/amd64 ubuntu:20.10
票数 6
EN

Stack Overflow用户

发布于 2021-07-13 14:30:57

从您的errorUnable中找到package msodbcsql17,找到以下链接。

https://github.com/MicrosoftDocs/sql-docs/issues/6494

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68357387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档