
wolfyuan/dolphinDolphin 仍在积极开发中,如遇到任何bug或有功能需求,请创建issue反馈
Dolphin 是一个集成了所有必要组件的容器镜像,为您的代码托管提供便利!
✨ 特性:
s6-overlay 运行容器bashdocker run --name dolphin-box -d \ -e GIT_URL="https://domain.com" \ --restart unless-stopped \ docker.io/wolfyuan/dolphin:node
命令解析:
-e GIT_URL="https://domain.com" - 用于控制容器的环境变量,完整列表见环境变量与工作流程
您可以添加多个变量,例如:
-e GIT_URL="https://domain.com" -e SYSTEM_PACKAGES="automake"完整命令如下:
bashdocker run --name dolphin-box -d \ -e GIT_URL="https://domain.com" \ -e SYSTEM_PACKAGES="automake" \ --restart unless-stopped \ docker.io/wolfyuan/dolphin:node
--restart unless-stopped - 容器故障或机器重启时自动重启,除非手动停止容器
docker.io/wolfyuan/dolphin:node - 容器镜像,其中node表示针对该语言设计的镜像,完整列表见容器镜像
除非另有说明,大多数镜像支持
arm架构CPU。
| 镜像名称 | 描述 | 变体 | 标签 | 架构 |
|---|---|---|---|---|
| Node.js | 包含运行Node.js软件所需的必要组件 | alpine, ubuntu | node | amd64、arm64 (ubuntu)、arm/v7 (ubuntu) |
| Base | 基础镜像,运行时不应直接使用 | alpine, ubuntu | base | amd64、arm64、arm/v7 |
镜像标签格式为:[镜像标签]-[镜像变体]
例如,基于ubuntu的node镜像标签为:node-ubuntu
若未指定镜像变体,将默认拉取ubuntu基础镜像
例如,拉取node标签将自动拉取node-ubuntu镜像
环境变量:
| 环境变量名称 | 描述 |
|---|---|
SYSTEM_PACKAGES | 容器启动时需安装的额外系统包 |
PACKAGES_LOCATION | 系统包缓存位置 |
PACKAGES_DISABLE_CACHE | 禁用系统包缓存(设置任意值即可禁用) |
GIT_URL | 容器启动时需克隆的Git仓库地址 |
工作流程:
GIT_URL克隆Git仓库| 📝 注意 |
|---|
可通过SYSTEM_PACKAGES变量安装额外系统包 |
例如,在基础系统上安装automake,只需将SYSTEM_PACKAGES设置为automake |
安装多个系统包时,用空格分隔,例如automake cmake |
| 📝 注意 |
|---|
基于Alpine的镜像使用apk安装包 |
基于Ubuntu的镜像使用apt-get安装包 |
| 📝 注意 |
|---|
若未修改PACKAGES_LOCATION,下载的包将缓存至/home/dolphin/packages |
环境变量:
| 环境变量名称 | 描述 |
|---|---|
NODE_VERSION | 需安装的Node.js版本,覆盖项目中的.nvmrc |
NODE_START_SCRIPT | 容器完成初始化脚本后运行的启动脚本 |
工作流程:
NODE_VERSION或项目中的.nvmrc安装Node.jsNODE_START_SCRIPT或package.json中的脚本(通过检测到的包管理器)启动Node.js进程| 📝 注意 |
|---|
支持的包管理器:pnpm、yarn、npm |
| 📝 注意 |
|---|
包管理器优先级:pnpm > yarn > npm |
Node版本优先级:NODE_VERSION > .nvmrc |
环境变量:
| 环境变量名称 | 描述 |
|---|---|
PYTHON_VERSION | 需安装的Python版本,覆盖项目中的.python-version |
PYTHON_BUILD_SCRIPT | 安装Python包后运行的构建脚本 |
PYTHON_START_SCRIPT | 容器完成初始化脚本后运行的启动脚本 |
PYTHON_START_FILE | 容器完成初始化脚本后运行的启动文件 |
工作流程:
PYTHON_VERSION或项目中的.python-version安装Pythonpip安装Python包PYTHON_START_SCRIPT和PYTHON_START_FILE(使用python3命令)启动Python进程| ⚠️ 警告 |
|---|
由于pyenv切换Python版本的机制,建议持久化容器存储,详见容器内数据持久化 |
| 📝 注意 |
|---|
当PYTHON_START_SCRIPT和PYTHON_START_FILE同时存在时,将先运行PYTHON_START_SCRIPT,待其完成后再运行PYTHON_START_FILE |
| 📝 注意 |
|---|
Python版本优先级:PYTHON_VERSION > .python-version |
可将两种目录挂载到Dolphin容器:
/home/dolphin:包含代码(space目录)及运行时二进制文件(如nvm、pyenv)
需节省带宽时使用此目录
/home/dolphin/space
需避免项目重建时使用此目录
启动Docker容器时,添加以下参数挂载目录:
bash-v /path/to/your/host/folder:/home/dolphin
或
bash-v /path/to/your/host/folder:/home/dolphin/space
| ⚠️ 警告 |
|---|
| 不能同时挂载两个目录! |
理论上应该可以工作
尚未测试,但应用将在rootless环境中运行,可能无法正常工作。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务