Helloworld
一个稳定安全、简单易用、强大CLI命令支持的薅羊毛运行环境,拥有控制面板和应用开放接口 支持运行 JavaScript Python TypeScript Shell 脚本,可自动配置相关定时计划任务 这是一...
标签:helloworld部署文档
- 如若使用 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. 启动容器
注意
下方命令分别对应两种启动方式,不要重复执行二选一即可
说明
- 必须映射 config 配置文件的主机挂载目录,其它目录可以不映射
- 注意容器网络类型,如果是旁路由可能需要切换为 host 类型(桥接)
- 不可以更改
:
右边的内容
-
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
- 新建 YAML 文件
4. 查看启动日志
docker logs -f jd
注意
- 请认真查看容器启动后的初始化进度并 等待其运行完毕,当输出 容器启动成功 字样时方可通过
Ctrl + C
退出查看 - 如果报错导致容器没有启动成功那么请自行检查原因,绝大多数问题都是您的网络环境所导致,自行判断不懂就百度翻译
- 常见报错
-
Repository more than 5 connections
———— 原因在于Gitee
的服务器限制每秒最多同时连接5
个客户端,此报错为正常现象稍后再次尝试即可
-
ssh: connect to host gitee.com port XXX: Connection timed out
———— 是由于当前宿主机的XXX
端口不可用所导致的网络连通性问题
-
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都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由水木纱纪实际控制,在2022年11月14日 下午7:46收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,水木纱纪不承担任何责任。