Php docker上的Laravel 6护照
我尝试在docker容器内构建API,该容器与外部(非容器内)MSSQL server 2015连接。尝试在docker bash上运行Php docker上的Laravel 6护照,php,laravel,docker,docker-compose,dockerfile,Php,Laravel,Docker,Docker Compose,Dockerfile,我尝试在docker容器内构建API,该容器与外部(非容器内)MSSQL server 2015连接。尝试在docker bash上运行php artisan passport:install时出错 Illuminate\Database\QueryException : SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2746 (SQL: insert into
php artisan passport:install
时出错
Illuminate\Database\QueryException : SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2746 (SQL: insert into [oauth_clients] ([user_id], [name], [secret], [redirect], [personal_access_client], [password_client], [revoked], [updated_at], [created_at]) values (?, Laravel Personal Access Client, t4KxVN7GyT3bY8RKAKuHLasIOHnuDbg2FIIVnG4g, http://localhost, 1, 0, 0, 2020-09-25 04:21:16.145, 2020-09-25 04:21:16.145))
我注意到[userid]的值是“?”,这可能是原因吗
我的拉维环境
DB_CONNECTION=sqlsrv
DB_HOST=10.105.12.12
DB_PORT=1433
DB_DATABASE=API
DB_USERNAME=admin1
DB_PASSWORD=secret
我的Dockerfile
FROM php:7.4.1-apache
USER root
WORKDIR /var/www/html
RUN apt-get update && apt-get install -y \
libpng-dev \
zlib1g-dev \
libxml2-dev \
libzip-dev \
libonig-dev \
zip \
curl \
unzip \
gnupg2 \
&& docker-php-ext-configure gd \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install zip \
&& docker-php-source delete
ENV ACCEPT_EULA=Y
# Microsoft SQL Server Prerequisites
RUN apt-get update \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/9/prod.list \
> /etc/apt/sources.list.d/mssql-release.list \
&& apt-get install -y --no-install-recommends \
locales \
apt-transport-https \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& apt-get update \
&& apt-get -y --no-install-recommends install \
unixodbc-dev \
msodbcsql17
RUN docker-php-ext-install mbstring pdo pdo_mysql \
&& pecl install sqlsrv pdo_sqlsrv xdebug \
&& docker-php-ext-enable sqlsrv pdo_sqlsrv xdebug
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN chown -R www-data:www-data /var/www/html \
&& a2enmod rewrite
我的Docker-compose.yml
version: '3.7'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: 'apidev'
ports:
- 8080:80
volumes:
- ./:/var/www/html
我为windows 10运行docker destop
如果不是在容器中,则此应用程序运行良好通过更改pdo驱动程序解决 我没有使用“pdo_sqlsrv”驱动程序连接到MSSQL 2005,而是使用“pdo_dblib” 希望这能帮助别人