Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Docker Ubuntu 18.04无法安装msodbcsql17 SQL Server ODBC驱动程序17_Sql Server_Docker_Odbc_Dockerfile_Ubuntu 18.04 - Fatal编程技术网

Sql server Docker Ubuntu 18.04无法安装msodbcsql17 SQL Server ODBC驱动程序17

Sql server Docker Ubuntu 18.04无法安装msodbcsql17 SQL Server ODBC驱动程序17,sql-server,docker,odbc,dockerfile,ubuntu-18.04,Sql Server,Docker,Odbc,Dockerfile,Ubuntu 18.04,我有下面的ubuntu docker文件,我想在其中添加SQL Server ODBC驱动程序17进行安装。构建docker文件时,我收到一个错误: “/bin/sh-c apt get install msodbcsql17”返回一个非零代码:1 你能帮忙吗 我指的是— 我在我的Ubuntu虚拟机中遵循了文章中的步骤,它运行良好,我能够运行我的python程序。然而,当我使用docker文件时,我得到了错误 FROM ubuntu:18.04 RUN apt update -y &

我有下面的ubuntu docker文件,我想在其中添加SQL Server ODBC驱动程序17进行安装。构建docker文件时,我收到一个错误: “/bin/sh-c apt get install msodbcsql17”返回一个非零代码:1

你能帮忙吗

我指的是—

我在我的Ubuntu虚拟机中遵循了文章中的步骤,它运行良好,我能够运行我的python程序。然而,当我使用docker文件时,我得到了错误

FROM ubuntu:18.04

RUN apt update -y  &&  apt upgrade -y && apt-get update 
RUN apt install -y curl python3.7 git python3-pip openjdk-8-jdk unixodbc-dev

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN exit
#RUN ACCEPT_EULA=Y apt-get install msodbcsql17
RUN apt-get update
RUN ACCEPT_EULA=Y  
RUN apt-get install msodbcsql17
#RUN ACCEPT_EULA=Y apt install msodbcsql17
RUN ACCEPT_EULA=Y apt install mssql-tools
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

COPY startup.sh /
RUN chmod +x /startup.sh
ENTRYPOINT ["sh","/startup.sh"]

我可以让它工作。下面是更新的Docker文件片段

FROM ubuntu:18.04

RUN apt update -y  &&  apt upgrade -y && apt-get update 
RUN apt install -y curl python3.7 git python3-pip openjdk-8-jdk unixodbc-dev

# Add SQL Server ODBC Driver 17 for Ubuntu 18.04
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install -y --allow-unauthenticated msodbcsql17
RUN ACCEPT_EULA=Y apt-get install -y --allow-unauthenticated mssql-tools
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

COPY startup.sh /
RUN chmod +x /startup.sh
ENTRYPOINT ["sh","/startup.sh"]

如果您在WSL2上,此错误可能是由于时钟问题不正确造成的。
打开wsl2并运行

sudo hwclock --hctosys
参考时钟:
wsl2问题:


这可能会解决在使用支持WSL2的windows docker时apt get的问题

Rry:
运行DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt get安装-Y mssql tools unixodbc dev\&&echo'export PATH=“$PATH:/opt/mssql tools/bin”>~/.bash_profile\&echo'export PATH=“$PATH:/opt/mssql tools/bin”'>>~/.bashrc
谢谢您提供的详细信息,但这不起作用。我收到错误-无法找到mssql工具。我试着使用msodbcsql17,我也遇到了同样的错误。你是否设法修复了这个@Suraj?@EdBaker为迟来的回复道歉。是的,我可以得到修复。我已经分享了下面的详细信息,无忧@Suraj-我在debian 10上实现了它,我不得不在openssl中将TLS版本更改为1.0,这很有效。我想指出,您在代码中同时使用了
apt
apt get
。这些都是相同的(在Ubuntu 16.04/Debian 8之后,因为
apt
存在)。您只需在apt update中重复相同的操作即可。。。apt获取更新。