网络科技Github库

Helloworld

一个稳定安全、简单易用、强大CLI命令支持的薅羊毛运行环境,拥有控制面板和应用开放接口 支持运行 JavaScript Python TypeScript Shell 脚本,可自动配置相关定时计划任务 这是一...

标签:
内容纲要

 部署文档

  • 如若使用 Podman 部署容器,将命令中的 docker 替换成 podman 即可
  • 项目容器镜像基于 Alpine Linux 构建,如有其它使用需求自行查看相关文档

1. 参数须知(重要)

注意

必需了解并完全理解下列参数对于部署容器时的用途

名称 用途
1 ENABLE_ALL_ENV true or false 控制是否在容器启动时预装环境包与常用模块
2 ENABLE_WEB_PANEL true or false 控制是否在容器启动时开启控制面板服务
3 ENABLE_TG_BOT true or false 控制是否在容器启动时开启机器人(TG Bot)服务

作用:将容器内的目录映射到宿主机,可直接在宿主机对目录文件进行操作

名称 作用
1 config 存放配置文件
2 log 存放日志文件
3 scripts 存放主要仓库脚本
4 own 存放扩展仓库脚本
5 jbot 电报机器人组件

2. 拉取镜像

docker pull supermanito/helloworld:latest

镜像拉下来后建议通过命令 docker images 查看镜像的创建时间以判断拉取的是否为最新版本
如果网络环境较差拉不下来可使用备用镜像,若使用则需要将下面命令中的原镜像名改为备用镜像名

默认拉取的是 Docker Hub 官方仓库的镜像,阿里云仓库备用镜像名称为 registry.cn-hangzhou.aliyuncs.com/supermanito/helloworld:latest

3. 启动容器

注意

下方命令分别对应两种启动方式,不要重复执行二选一即可

说明

 

  1. 必须映射 config 配置文件的主机挂载目录,其它目录可以不映射
  2. 注意容器网络类型,如果是旁路由可能需要切换为 host 类型(桥接)
  3. 不可以更改 : 右边的内容

 

  • CLI - 命令行

    docker run -dit \
    --name jd `# 容器名` \
    --hostname jd `# 主机名` \
    --network bridge `# 容器网络类型` \
    --restart always `# 开机自启` \
    -p 5678:5678 `# 端口映射,"主机端口:容器端口"` \
    -v /opt/jd/config:/jd/config `# 配置文件的主机挂载目录` \
    -v /opt/jd/log:/jd/log `# 日志文件的主机挂载目录` \
    -v /opt/jd/scripts:/jd/scripts `# 主要仓库的主机挂载目录` \
    -v /opt/jd/own:/jd/own `# 扩展仓库和扩展脚本的主机挂载目录` \
    `# -v /opt/jd/jbot:/jd/jbot` `# 电报机器人主机挂载目录` \
    -e ENABLE_ALL_ENV=true `# 是否在容器启动时预装环境包与常用模块` \
    -e ENABLE_WEB_PANEL=true `# 是否在容器启动时开启控制面板服务` \
    -e ENABLE_TG_BOT=false `# 是否在容器启动时开启电报机器人服务` \
    supermanito/helloworld:latest

    已注释部分可选参数,如有需要请对照上下内容格式自行取消注释
    如果想让容器内文件映射在当前目录可将 /opt/jd 修改为 $(pwd),也可指定其它路径

  • Compose - 编排

    • 新建 YAML 文件
      mkdir -p /opt/jd
      cd /opt/jd
      vim docker-compose.yaml
    • 编辑内容
      version: "2.0"
      services:
        jd:
          image: supermanito/helloworld:latest  # 镜像名,可以使用阿里云仓库的备用镜像
          container_name: jd  # 容器名(可随意更改)
          hostname: jd  # 主机名(可随意更改)
          restart: always  # 开机自启
          tty: true
          network_mode: bridge  # 容器网络类型,如果是旁路由可能需要切换为 host 类型(桥接),默认为 NAT
          ports:
            - 5678:5678  # 端口映射,格式为 "主机端口:容器端口",主机端口号可自定义,容器端口用来访问控制面板不可修改
          volumes:
            - /opt/jd/config:/jd/config        # 定义配置文件的主机挂载目录
            - /opt/jd/log:/jd/log             # 定义日志文件的主机挂载目录
            - /opt/jd/scripts:/jd/scripts      # 定义 Scripts 主要仓库的主机挂载目录
            - /opt/jd/own:/jd/own             # 定义 Own 扩展仓库和扩展脚本的主机挂载目录
          #  - /opt/jd/jbot:/jd/jbot          # 定义电报机器人的主机挂载目录
          environment:
            - ENABLE_ALL_ENV=true            # 是否在容器启动时预装环境包与常用模块
            - ENABLE_WEB_PANEL=true          # 是否在容器启动时开启控制面板服务
            - ENABLE_TG_BOT=false            # 是否在容器启动时开启电报机器人服务

      已注释部分可选参数,如有需要请自行取消注释

    • 启动容器
      docker-compose up -d

4. 查看启动日志

docker logs -f jd

注意

 

  1. 请认真查看容器启动后的初始化进度并 等待其运行完毕,当输出 容器启动成功 字样时方可通过 Ctrl + C 退出查看
  2. 如果报错导致容器没有启动成功那么请自行检查原因,绝大多数问题都是您的网络环境所导致,自行判断不懂就百度翻译

 

  • 常见报错
      1. Repository more than 5 connections ———— 原因在于 Gitee 的服务器限制每秒最多同时连接 5 个客户端,此报错为正常现象稍后再次尝试即可
      1. ssh: connect to host gitee.com port XXX: Connection timed out ———— 是由于当前宿主机的 XXX 端口不可用所导致的网络连通性问题
      1. Could not resolve hostname XXXX: Temporary failure in name resolution lost connection ———— 字面意思,表示无法解析到该 XXXX 域名服务器,说明网络环境异常
  • 安装环境组件 (选择安装)

    docker exec -it jd bash -c "taskctl env install"

    此命令为安装环境包与常用模块(全局)以用于满足运行部分脚本的环境要求,64位处理器还会附带安装 Python 和 TypeScript 环境,安装版本分别是 3.8.10 和 10.4.0

    友情提示

    如果在容器启动时 ENABLE_ALL_ENV 变量没有赋值为 false 则不用再执行此命令重复安装一次

数据统计

数据评估

Helloworld浏览人数已经达到1.1K,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:Helloworld的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找Helloworld的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于Helloworld特别声明

本站水木纱纪提供的Helloworld都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由水木纱纪实际控制,在2022年11月14日 下午7:46收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,水木纱纪不承担任何责任。

相关导航

暂无评论

暂无评论...