网络科技Github库

Helloworld

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

标签:
爱站权重:PC 百度权重移动 百度移动权重

 部署文档

  • 如若使用 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. 拉取镜像

<span class="token function">docker</span> pull supermanito/helloworld:latest
docker pull supermanito/helloworld:latest

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

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

3. 启动容器

注意

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

说明

 

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

 

  • CLI – 命令行

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

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

    • 启动容器
      <span class="token function">docker-compose</span> up -d
      docker-compose up -d

4. 查看启动日志

<span class="token function">docker</span> logs -f jd
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 域名服务器,说明网络环境异常
  • 安装环境组件 (选择安装)

    <span class="token function">docker</span> <span class="token builtin class-name">exec</span> -it jd <span class="token function">bash</span> -c <span class="token string">"taskctl env install"</span>
    docker exec -it jd bash -c "taskctl env install"

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

    友情提示

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

数据统计

数据评估

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

关于Helloworld特别声明

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

相关导航

暂无评论

暂无评论...
网络错误