Skip to content

Tony-ooo/ai-dev-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Cloud Station Dev Env

AI 云站开发环境 Docker 镜像构建配置。

项目结构

├── amd64/          # AMD64 架构构建脚本
│   ├── build.sh        - 构建 Docker 镜像
│   ├── push_image.sh   - 推送镜像到仓库
│   └── quick_deploy.sh - 快速部署脚本
├── arm64/          # ARM64 架构构建脚本
│   ├── build.sh        - 构建 Docker 镜像
│   ├── push_image.sh   - 推送镜像到仓库
│   └── quick_deploy.sh - 快速部署脚本
├── src/            # Docker 镜像源文件
│   ├── Dockerfile      - Docker 镜像构建文件
│   ├── docker-entrypoint.sh - 容器入口脚本,校验 s6 服务后启动 /init
│   ├── entrypoint.sh   - s6-overlay 容器初始化脚本
│   ├── start-sshd.sh   - SSHD 长运行服务启动脚本
│   ├── s6-services-guard.sh - s6 服务定义校验与隔离脚本
│   ├── custom_deploy.sh - 自定义部署脚本
│   └── workspace_welcome.md - 工作区欢迎文档模板
├── skills/         # 项目技能文档
│   └── s6-service-manager/ - s6 服务管理技能
└── README.md       # 项目说明文档

快速开始

构建参数设置

# AMD64 架构
cd amd64 && cp build.sh.example build.sh
# 修改 build.sh 中的构建参数

# ARM64 架构
cd arm64 && cp build.sh.example build.sh
# 修改 build.sh 中的构建参数

构建镜像

# AMD64 架构
cd amd64 && ./build.sh

# ARM64 架构
cd arm64 && ./build.sh

推送镜像

# AMD64 架构
cd amd64 && ./push_image.sh

# ARM64 架构
cd arm64 && ./push_image.sh

快速部署

默认部署时,SSH 和临时测试服务端口仅绑定到宿主机 127.0.0.1,避免局域网或外网扫描产生异常登录日志。如需远程访问,请在部署脚本中显式设置 --bind-address 0.0.0.0,并配合防火墙白名单限制来源 IP。

# AMD64 架构
cd amd64 && ./quick_deploy.sh

# ARM64 架构
cd arm64 && ./quick_deploy.sh

创建容器内部系统守护进程

镜像使用 s6-overlay 作为容器 1 号主进程。容器初始化阶段会以 root 执行用户 UID/GID、密码、SSH 与挂载目录权限配置;通过 SSH 登录后仍进入 dev 用户。如需通过 docker exec 进入 dev 用户,请使用 docker exec -u dev -it <container> bash

容器运行后,可以在容器内部创建 s6 管理的守护进程。s6-overlay v3 服务定义保存在 /etc/s6-overlay/s6-rc.d,并由部署脚本挂载到宿主机 $BASE_DATA_DIR/$USER_NAME/s6-services;同一个容器重启后会由 s6 自动拉起。运行时监督目录为 /run/service。启动时会先检查持久化服务定义,发现缺少 type/runrun 工作目录不存在、或编译失败的服务时,会把对应服务隔离到 .disabled-by-guard 隐藏目录,避免影响容器启动。具体设置参考技能 skills/s6-service-manager

License

本项目采用 MIT License。

About

AI 云端工作站:一个独立的容器开发环境

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors