laravel 找不到合适的服务器(serverSelectionTryOnce设置):[connection refused calling hello on 'mongodb:21017']

bnl4lu3b  于 2023-06-25  发布在  Go
关注(0)|答案(1)|浏览(152)

我想在laravel sail项目中使用mongodb。如何解决找不到合适的服务器(serverSelectionTryOnce set):[connection refused calling hello on 'mongodb:21017']
下一个代码返回此错误

try {
           $l =  DB::connection('mongodb')->getMongoClient()->listDatabases();
           dd($l);

        } catch (\Exception $e) {
            echo $e->getMessage();
        }

我的env配置

MONGO_DB_HOST=mongodb
MONGO_DB_PORT=21017
MONGO_DB_DATABASE=test
MONGO_DB_USERNAME=sail
MONGO_DB_PASSWORD=password

我的docker-compose

mongodb:
        image: mongo:4.4.6
        ports:
            - '${FORWARD_MONGO_DB_PORT:-27017}:27017'
        environment:
            MONGO_INITDB_ROOT_USERNAME: '${MONGO_DB_USERNAME}'
            MONGO_INITDB_ROOT_PASSWORD: '${MONGO_DB_PASSWORD}'
            MONGO_INITDB_DATABASE: '${MONGO_DB_DATABASE}'
        volumes:
            - 'sail-mongodb:/data/db'
        networks:
            - sail

在我的dockerfile与php8.2我安装mongodb扩展

RUN pecl install mongodb

我试着从laravel.testcontainer内部ping到mongodbcontainer,就像ping mongodb一样,它返回成功,没有丢失数据。我还可以在我的mongodb容器中连接到mongo shell

wr98u20j

wr98u20j1#

问题是我使用了错误的端口21017而不是27017

相关问题