ghcr.io/sharevb/it-tools:2026.1.4-baseurl-it-tools
容器镜像的重大变更
由于基础镜像现已更改为 nginx-unpriviledged,容器现在将监听端口 8080 而非 80。因此,您需要更新端口映射,例如从 8080:80 更改为 8080:8080。
nginx-unpriviledged、8080:80、8080:8080
您可以使用环境变量 PORT 覆盖监听端口(Docker 选项 -e PORT=8888)。
PORT、-e PORT=8888
如果容器需要监听 IPv6,则需要启用 IPv6:[***] Docker 选项 -v "./nginx.conf:/etc/nginx/templates/default.conf.template" 挂载自己的 nginx.conf(需移除 listen [::]:8080;)
nginx.conf、-v "./nginx.conf:/etc/nginx/templates/default.conf.template"、listen [::]:8080;
/my-folder## 在 /it-tools/ 子文件夹中托管的 Docker Compose 配置
/it-tools/对于/it-tools/子文件夹,您可以使用baseurl-it-tools标签。
/it-tools/``baseurl-it-tools请参考docker-compose.yml和nginx.conf的示例,此Docker镜像需要在其前方配置另一个反向代理,例如Nginx Proxy Manager、Traefik、Caddy等。
使用/it-tools/设置反向代理转发。您应该能够通过服务器的/it-tools/路径访问it-tools。
/it-tools/``/it-tools/Nginx反向代理配置示例可在以下地址获取:https://github.com/sharevb/it-tools/tree/chore/all-my-stuffs/docker-subfolder-sample
运行示例:
git clone https://github.com/sharevb/it-tools
cd it-tools/docker-subfolder-sample/
docker compose up
然后访问 http://localhost:8080/it-tools/
使用自定义文件夹构建:
BASE_URL="/it-tools/" pnpm build- 将生成的
dist文件夹重命名为it-tools,并部署到https://your-domain.com/it-tools
为 GitHub Pages 构建:
- 在您的分支中,启用 GitHub Pages 构建和部署选项,路径为 Settings
Pages,并选择 GitHub Actions 作为源
- 向您的仓库添加以下 GitHub Action:https://github.com/sharevb/it-tools/tree/chore/all-my-stuffs/.github/workflows/sharevb-github-pages-publish.yml
添加身份验证
假设您已在反向代理后托管it-tools,您可以配置forward-auth并通过反向代理强制身份验证
- Nginx 的官方指南。其他反向代理设置的指南也可用
- 使用 nginx-proxy-manager 的分步设置指南(感谢 @jogerj)
部署为 LXC 容器
在 Proxmox VE 中,您可以直接使用 Docker 镜像:
sudo lxc-create -n sharevb-it-tools -t oci -- --url docker://ghcr.io/sharevb/it-tools:latest
贡献
推荐的 IDE 设置
要在 WSL2(Windows)中安装 VSCode,请参见:[***]
VSCode 需安装以下扩展:
- Volar(并禁用 Vetur)
- TypeScript Vue Plugin(Volar)
- ESLint
- i18n Ally
并使用以下设置:
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"i18n-ally.localesPaths": ["locales", "src/tools/*/locales"],
"i18n-ally.keystyle": "nested"
}
TypeScript 中 .vue 导入的类型支持
TypeScript 默认无法处理.vue导入的类型信息,因此我们使用vue-tsc替换tsc CLI 进行类型检查。在编辑器中,我们需要 TypeScript Vue Plugin(Volar)使 TypeScript 语言服务能够识别.vue类型。
如果独立的 TypeScript 插件感觉不够快,Volar 还实现了性能更优的 Take Over Mode。您可以通过以下步骤启用它:
- 禁用内置 TypeScript 扩展
从 VSCode 命令面板运行Extensions: Show Built-in Extensions
找到TypeScript and JavaScript Language Features,右键选择Disable (Workspace) - 从 VSCode 命令面板运行
Extensions: Show Built-in Extensions - 找到
TypeScript and JavaScript Language Features,右键选择Disable (Workspace) - 从命令面板运行
Developer: Reload Window以重新加载 VSCode 窗口
项目设置
pnpm install --ignore-scripts
编译并热重载以进行开发
pnpm dev
类型检查、编译并压缩用于生产环境
pnpm build
使用 Vitest 运行单元测试
pnpm test
使用 ESLint 进行代码检查
pnpm lint
确保 CI(lock、eslint、typecheck)成功
提交 PR 前,请运行:
pnpm install --ignore-scripts && pnpm lint --fix && pnpm typecheck
创建新工具
要创建新工具,有一个脚本可以生成新工具的模板,只需运行:
pnpm run script:create:tool my-tool-name
它将在src/tools中创建一个包含正确文件的目录。您需要在src/tools/_my-tool-name_/index.ts中填写工具名称、类别、描述……然后开发工具。
安装方法
本地安装需先安装:python3 make g++
容器镜像
- GitHub Container Registry:
ghcr.io/sharevb/it-tools:latest - Docker Hub:
sharevb/it-tools:latest
本地安装
sudo apt-get install python3 make g++ && git clone -b chore/all-my-stuffs https://github.com/sharevb/it-tools.git && cd it-tools/ && pnpm i --ignore-scripts && pnpm dev
- 用此镜像替换您当前的镜像
- 复制粘贴单行命令(来自 GitHub 仓库)
- 您可能需要清除缓存并强制刷新才能加载新功能
- 首次安装软件包可能需要一些时间,请等待完成
许可证
本项目采用 GNU GPLv3 许可证。
轩辕镜像配置手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
Docker 配置
登录仓库拉取
通过 Docker 登录认证访问私有仓库
专属域名拉取
无需登录使用专属域名
K8s Containerd
Kubernetes 集群配置 Containerd
K3s
K3s 轻量级 Kubernetes 镜像加速
Dev Containers
VS Code Dev Containers 配置
Podman
Podman 容器引擎配置
Singularity/Apptainer
HPC 科学计算容器配置
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
Harbor 镜像源配置
Harbor Proxy Repository 对接专属域名
Portainer 镜像源配置
Portainer Registries 加速拉取
Nexus 镜像源配置
Nexus3 Docker Proxy 内网缓存
系统配置
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
镜像拉取常见问题
使用与功能问题
配置了专属域名后,docker search 为什么会报错?
docker search 限制
Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?
站内搜不到镜像
机器不能直连外网时,怎么用 docker save / load 迁镜像?
离线 save/load
docker pull 拉插件报错(plugin v1+json)怎么办?
插件要用 plugin install
WSL 里 Docker 拉镜像特别慢,怎么排查和优化?
WSL 拉取慢
轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?
安全与 digest
第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?
新手拉取配置
轩辕镜像合规吗?轩辕镜像的合规是怎么做的?
镜像合规机制
轩辕镜像支持 docker push 上传本地镜像吗?
不支持 push
错误码与失败问题
docker pull 提示 manifest unknown 怎么办?
manifest unknown
docker pull 提示 no matching manifest 怎么办?
no matching manifest(架构)
镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?
invalid tar header(解压)
Docker pull 时 HTTPS / TLS 证书验证失败怎么办?
TLS 证书失败
Docker pull 时 DNS 解析超时或连不上仓库怎么办?
DNS 超时
docker 无法连接轩辕镜像域名怎么办?
域名连通性排查
Docker 拉取出现 410 Gone 怎么办?
410 Gone 排查
出现 402 或「流量用尽」提示怎么办?
402 与流量用尽
Docker 拉取提示 UNAUTHORIZED(401)怎么办?
401 认证失败
遇到 429 Too Many Requests(请求太频繁)怎么办?
429 限流
docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?
D-Bus 凭证提示
为什么会出现「单层超过 20GB」或 413,无法加速拉取?
413 与超大单层
账号 / 计费 / 权限
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务