gpt4 book ai didi

python - 如何在Python Docker镜像中安装MSSQL Server?

转载 作者:行者123 更新时间:2023-12-02 21:32:52 25 4
gpt4 key购买 nike

我想在Python docker容器中安装MSSQL Server,以便能够在CI管道中运行单元测试。
问题是安装不断失败。我该如何解决?
我尝试过的

FROM python:3.7.9-slim-buster
RUN apt-get update

RUN apt-get -y install gnupg curl software-properties-common wget
RUN add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& apt-get update \
&& ACCEPT_EULA=Y DEBIAN_FRONTEND=noninteractive apt-get install -y \
unixodbc-dev \
mssql-server
ENV MSSQL_PID 'developer'
ENV MSSQL_SA_PASSWORD 'Devel0per'
RUN /opt/mssql/bin/mssql-conf -n setup accept-eula
ENV SQLALCHEMY_DATABASE_URI mssql+pyodbc://dev_user:Devel0per@localhost:5432/dev_db
这给出:
Step 8/9 : RUN /opt/mssql/bin/mssql-conf -n setup accept-eula
---> Running in f3cebdb5b946
Traceback (most recent call last):
File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 361, in <module>
main()
File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 357, in main
processCommands()
File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 262, in processCommands
COMMAND_TABLE[args.which]()
File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 58, in handleSetup
exit(mssqlconfhelper.setupSqlServer(True, noprompt=args.noprompt))
File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 971, in setupSqlServer
if not checkInstall():
File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 941, in checkInstall
return runScript(checkInstallScript, True) == 0
File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 930, in runScript
return subprocess.call([sudo, "-EH", pathToScript])
File "/usr/lib/python2.7/subprocess.py", line 172, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
试试2
FROM mcr.microsoft.com/mssql/server:2019-latest
RUN apt-get update
Step 2/2 : RUN apt-get update
---> Running in a1f0ef2cdd3f
Reading package lists...
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
The command '/bin/sh -c apt-get update' returned a non-zero code: 100

最佳答案

第二个示例应该是:

FROM mcr.microsoft.com/mssql/server:2019-latest
USER root
RUN apt-get update && \
# install python

USER mssql
Microsoft并未在任何地方进行文档记录,但是此图像包含两个用户,并将未特权用户 mssql设置为默认用户。

关于python - 如何在Python Docker镜像中安装MSSQL Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64046398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com