目录

1、检查环境

2、部署脚本

3、报错处理

4、一点废话


部署用的项目:GitHub - honmashironeko/ARL-docker: 基于ARL v2.6.2版本源码,生成docker镜像进行快速部署,同时提供七千多条指纹

1、检查环境

docker --version && docker-compose --version

 若未安装,则执行:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable --now docker
sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
bash

2、部署脚本

#下载部署脚本项目
git clone https://github.com/honmashironeko/ARL-docker.git

#进入项目文件夹
cd ARL-docker/

#添加运行权限
chmod +x setup_docker.sh

#执行部署脚本
bash setup_docker.sh

部署成功能看到:

3、报错处理

大概率会报错:

若是出现这种情况,建议使用更新版本的mongodb并且使用华为云镜像。

sudo vi docker-compose.yml

在编辑器中修改镜像源。

不过修改完还会报错,需要将文件里面的镜像源都修改了。

最后附上docker-compose.yml修改完后的完整代码:

version: '3'

volumes:
  arl_db:
    external: true

services:
    web:
        image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/honmashironeko/arl-docker-all:latest
        container_name: arl_web
        restart: unless-stopped
        depends_on:
          - mongodb
          - rabbitmq
        ports:
          #http 服务,默认不映射出来
          #- "5003:80"
          - "5003:443"
        volumes:
          - ./arl_web.log:/code/arl_web.log
          - ./config-docker.yaml:/code/app/config.yaml
          - ./image:/code/app/tmp_screenshot
          - ./poc:/opt/ARL-NPoC/xing/plugins/upload_poc
        entrypoint: ["sh", "-c", "gen_crt.sh; nginx; wait-for-it.sh mongodb:27017; wait-for-it.sh rabbitmq:5672; gunicorn -b 0.0.0.0:5003 app.main:arl_app -w 3 --access-logfile arl_web.log"]
        environment:
          - LANG=en_US.UTF-8
          - TZ=Asia/Shanghai

    worker:
        image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/honmashironeko/arl-docker-all:latest
        container_name: arl_worker
        restart: unless-stopped
        depends_on:
          - mongodb
          - rabbitmq
        volumes:
          - ./arl_worker.log:/code/arl_worker.log
          - ./config-docker.yaml:/code/app/config.yaml
          - ./image:/code/app/tmp_screenshot
          - ./poc:/opt/ARL-NPoC/xing/plugins/upload_poc
        entrypoint: ["sh", "-c", "wait-for-it.sh mongodb:27017; wait-for-it.sh rabbitmq:5672;
        celery -A app.celerytask.celery worker -l info -Q arlgithub -n arlgithub -c 2 -O fair -f arl_worker.log &
         celery -A app.celerytask.celery worker -l info -Q arltask -n arltask -c 2 -O fair -f arl_worker.log"]

        environment:
          - LANG=en_US.UTF-8
          - TZ=Asia/Shanghai

    scheduler:
      image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/honmashironeko/arl-docker-all:latest
      container_name: arl_scheduler
      restart: unless-stopped
      depends_on:
        - mongodb
        - rabbitmq
      volumes:
        - ./config-docker.yaml:/code/app/config.yaml
      entrypoint: [ "sh", "-c", "wait-for-it.sh mongodb:27017; wait-for-it.sh rabbitmq:5672; python3.6 -m app.scheduler" ]
      environment:
        - LANG=en_US.UTF-8
        - TZ=Asia/Shanghai

    mongodb:
        image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mongo:4.4.30
        container_name: arl_mongodb
        restart: always
        volumes:
          - arl_db:/data/db
          - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
        environment:
          - MONGO_INITDB_DATABASE=arl
          - MONGO_INITDB_ROOT_USERNAME=admin
          - MONGO_INITDB_ROOT_PASSWORD=admin


    rabbitmq:
      image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/rabbitmq:3.8.19-management-alpine
      container_name: arl_rabbitmq
      restart: always
      environment:
        - RABBITMQ_DEFAULT_PASS=arlpassword
        - RABBITMQ_DEFAULT_USER=arl
        - RABBITMQ_DEFAULT_VHOST=arlv2host
      logging:
        driver: "json-file"
        options:
          max-size: "1M"
          max-file: "10"

4、一点废话

做这篇文章是为了避免我以后又浪费时间在搭建这个玩意上面,也希望这篇文章能够帮助大家顺利搭建完成。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐