Установите sqlserv в Docker Наносервер - PullRequest
0 голосов
/ 02 декабря 2018

Мы использовали Docker и общедоступный репозиторий nanoserver / wamp в Dockerhub при реализации нашего проекта.Мы смогли использовать систему, так как мы используем PHP и внешний сервер MySQL для нашей базы данных.

Теперь наша база данных переходит на MSSQL, и для доступа к MSSQL нам нужны файлы sqlsrv .dll.в папке C: \ php \ ext

Но одним предварительным условием sqlsrv является драйвер MSODBC, и я не могу найти способ загрузки MSI-файла внутри наносервера из-за его ограничений.

Есть ли способ просто скопировать и вставить файлы ODBC в наносервер, чтобы мы могли использовать sqlsrv в нашем проекте php?Или есть какой-либо способ подключения к базе данных MSSQL?

Я пробовал это, но он все еще не работает:

COPY msodbcsql13.dll C:/Windows/System32/
COPY msodbcsql11.dll C:/Windows/System32/

COPY msodbcdiag13.dll C:/Windows/System32/
COPY msodbcdiag11.dll C:/Windows/System32/

COPY msodbcsqlr13.rll C:/Windows/System32/1033/
COPY msodbcsqlr11.rll C:/Windows/System32/1033/

Основа для файлов от https://docs.microsoft.com/en-us/sql/connect/odbc/windows/system-requirements-installation-and-driver-files?view=sql-server-2017

Я не пробовал общедоступный репозиторий microsoft / windowsservercore , поскольку он предлагает IIS-PHP, и нам нужна конфигурация Apache-PHP , и я делаю этоне знаю, как его там установить.В любом случае, если он работает только с этим репо, можете ли вы указать мне, как установить Apache-PHP в microsoft / windowsservercore ?

1 Ответ

0 голосов
/ 02 декабря 2018

Оказывается, на самом деле нет способа установить sqlsrv в nanoserver, так как для этого требуется установить зависимости с типом файла .msi.

Я просто поделюсь, как настроить установку apache-php в microsoft / windowsservercore

Вот мой dockerfile :

FROM microsoft/windowsservercore

COPY setup c:/apache

ADD https://aka.ms/vs/15/release/VC_redist.x86.exe /apache/vc_redist.x86.exe
ADD https://aka.ms/vs/15/release/VC_redist.x64.exe /apache/vc_redist.x64.exe
RUN C:\apache\vc_redist.x86.exe /quiet /install
RUN C:\apache\vc_redist.x64.exe /quiet /install

COPY Apache24 c:/Apache24

COPY php c:/php

RUN powershell.exe -command \
    cmd.exe /c c:/apache/service.bat; \
    sc.exe config apache2.4 obj=LocalSystem; \
    remove-item c:/apache -Recurse

Вот содержимое моего сервиса. Бат:

cd\
cd Apache24\bin
httpd.exe -k install

После установки установки Apache-PHP я смог установить msodbcsql.msi и вставить sqlsrv.dll и pdo_sqlsrv.dllдля PHP, и он обнаружился в phpinfo ();

...