如何在Python Docker映像中安装MSSQL Server?

马丁·托马(Martin Thoma):

我想在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
康拉德·波特(Konrad Botor):

第二个示例应该是:

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

USER mssql

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Docker映像中安装python?

如何在Ubuntu 19.04中安装mssql-server?

如何在Docker映像中安装Snapcraft?

如何在Docker映像中安装grails?

如何在Docker映像中安装python模块?

在Docker映像中安装python-sympy

如何从Docker容器中删除Posgresql映像并安装新的映像

如何在我的ubuntu docker映像中安装“ ifconfig”命令?

如何在我的Docker映像中安装postgresql?

如何在Windows docker映像中安装.pfx证书

如何在我的 Docker 映像中安装 dateinfer

如何在以golang为基础映像的docker中安装python3?

我如何在高山docker映像中同时安装python2.7和3.7

如何在Windows Server 2016上运行Linux Docker映像?

如何在拉出的Docker映像上安装python库?

如何在Node.js Docker映像上安装Python

如何找出Docker映像中安装了哪个Linux?

如何从blob或保存的文件在docker中安装Windowsservercore映像?

无法在Docker映像中安装Python数学库

在python 3 docker映像中安装CyLP的正确方法

如何在SQL Server中安装Wordpress

如何在基于 windows server core 的 docker 镜像中安装 ODBC Driver 17?

如何在ubuntu Docker映像中静默安装R-base

如何在基于Java的Docker映像中安装软件包管理器

如何在AI平台上的自定义Docker映像中安装GCS存储桶?

如何在php docker映像中安装pdo驱动程序?

如何在没有pip的Docker映像中安装AWS CLI工具?

如何在Web应用程序的Docker映像中安装和启动CouchDB服务器?

如何在Docker映像中安装scikit-learn,pandas和numpy?