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
相关产品推荐
相关产品推荐

