You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker化Laravel微服务连接MongoDB时遇500内部服务器错误

Laravel Docker容器化应用MongoDB事务报错:There is no active session

我正在开发一个采用Docker容器化的Laravel微服务应用,大部分端点在容器内外均可正常运行。但当应用连接MongoDB(尤其是执行事务查询)时,持续报错:There is no active session.,该错误源自MongoDB\Driver\Exception。

目前已确认以下内容:

  • MongoDB副本集配置正确
  • 非Docker环境下,应用与MongoDB的连接及运行完全正常
  • 所有服务和依赖均已运行,网络配置看似正常,同一容器内的其他端点无任何问题

以下是供参考的Dockerfile片段:

FROM php:8.0-alpine AS php
WORKDIR /app
RUN apk add --no-cache \
    autoconf \
    build-base \
    libpng-dev \
    oniguruma-dev \
    libxml2-dev \
    imagemagick-dev \
    libzip-dev \
    git \
    curl \
    unzip \
    openssl \
    zip \
    freetype-dev \
    jpeg-dev \
    libwebp-dev \
    && pecl install imagick \
    && docker-php-ext-enable imagick \
    && pecl install mongodb \
    && docker-php-ext-enable mongodb \
    && docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg \
    && docker-php-ext-install pdo_mysql opcache gd zip \
    && pecl install swoole-4.8.4 \
    && docker-php-ext-enable swoole

# Stage - Production Image
FROM php:8.0-alpine
# Install runtime system dependencies for PHP extensions
RUN apk add --no-cache \
    libpng \
    imagemagick-libs \
    libzip\
    libgomp \
    freetype \
    jpeg \
    libwebp \
    libstdc++
COPY --from=php /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
COPY --from=php /usr/local/lib/php/extensions/ /usr/local/lib/php/extensions/
COPY --from=php /usr/lib/ /usr/lib/
COPY . /var/www
WORKDIR /var/www
CMD ["php", "artisan", "octane:start","--port=8000", "--host=0.0.0.0"]

Docker中的错误日志如下:

500    POST /master/login ................................. 23.35 mb 30.81 ms 

请问有人遇到过类似问题吗?能否指点我可能遗漏或出错的地方?非常感谢!

更新

问题出在MongoDB上,现在一切正常。

内容的提问来源于stack exchange,提问作者Virendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:34:54