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

Docker部署Cuckoo Sandbox:Web服务无法连接MongoDB的解决方法

问题描述

按照Docker部署文档搭建Cuckoo Sandbox,执行docker-compose up -d后Mongo容器正常运行,可通过mongosh访问所有数据库,但Web服务无法启动,连接MongoDB时抛出如下错误:

CuckooCriticalError: Unable to connect to MongoDB: command SON([('listCollections', 1), ('cursor', {})]) on namespace cuckoo.$cmd failed: Unsupported OP_QUERY command: listCollections. The client driver may require an upgrade. In order to operate Cuckoo as per your configuration, a running MongoDB server is required.

使用的docker-compose.yml配置如下:

version: "2"

services:
  cuckoo:
    image: blacktop/cuckoo:2.0
    command: daemon
    ports:
      - "2042:2042"
    volumes:
      - ./cuckoo-tmp/:/tmp/cuckoo-tmp/
      - ./storage/:/cuckoo/storage/
    networks:
      - cuckoo
    env_file:
      - ./2.0/config-file.env

  web:
    image: blacktop/cuckoo:2.0
    ports:
      - "80:31337"
    links:
      - mongo
      - elasticsearch
      - postgres
    command: web
    volumes:
      - ./cuckoo-tmp/:/tmp/cuckoo-tmp/
      - ./storage/:/cuckoo/storage/
    networks:
      - cuckoo
    env_file:
      - ./2.0/config-file.env

  api:
    depends_on:
      - postgres
    image: blacktop/cuckoo:2.0
    ports:
      - "8000:1337"
    links:
      - postgres
    command: api
    volumes:
      - ./cuckoo-tmp/:/tmp/cuckoo-tmp/
      - ./storage/:/cuckoo/storage/
    networks:
      - cuckoo
    env_file:
      - ./2.0/config-file.env

  # nginx:
  #   build: nginx/.
  #   depends_on:
  #     - mongo
  #   ports:
  #     - "80:80"
  #   links:
  #     - mongo
  #   networks:
  #     - cuckoo

  mongo:
    image: mongo:latest
    ports:
      - 27017
    volumes:
      - mongo-data:/data/db
    networks:
      - cuckoo

  elasticsearch:
    image: blacktop/elasticsearch:5.6
    ports:
      - 9200
    volumes:
      - es-data:/usr/share/elasticsearch/data
    networks:
      - cuckoo
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
#    mem_limit: 1g

  postgres:
    image: postgres
    ports:
      - 5432
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: cuckoo
      PGDATA: /var/lib/postgresql/data/pgdata
      # POSTGRES_INITDB_ARGS: --data-checksums
    volumes:
      - postgres-data:/var/lib/postgresql/data/pgdata
    networks:
      - cuckoo

networks:
  cuckoo:
    driver: bridge

volumes:
  cuckoo-data:
  mongo-data:
  es-data:
  postgres-data:
解决方法
  • 修改MongoDB镜像版本为3.6.8,更新docker-compose.yml中mongo服务的配置:
    mongo:
      image: mongo:3.6.8
      ports:
        - 27017
      volumes:
        - mongo-data:/data/db
      networks:
        - cuckoo
    
  • 执行系统参数配置命令,满足Elasticsearch的运行要求:
    sudo sysctl -w vm.max_map_count=262144
    
  • 重新启动容器:
    docker-compose down && docker-compose up -d
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:05:22