logo
0
0
WeChat Login
ForkfromMintimate/code-nest/cloud-base-devbox, aheadmain22 commits
Merge branch 'main' of https://cnb.cool/wuyin.keji/MM/cloud-base-devbox

Cloud Base DevBox

基于Docker的开发环境容器集合,提供预配置的开发环境。

AllInOneDev

全功能开发环境容器,集成多种开发工具和运行时环境。

预装环境

  • 运行时: Go 1.24.5
  • 工具: Nvm, Pyenv, Nano, Git, Vim, Zsh + Oh-My-Zsh
  • 服务: SSH (端口36000)

快速开始

创建 docker-compose.yml:

services:
  devbox:
    image: docker.cnb.cool/wuyin.keji/Tools/cloud-base-devbox/all-in-one-dev:v1.4.0-linux-amd64
    container_name: devbox
    restart: unless-stopped
    volumes:
      - /root/.ssh:/tmp/host-ssh:ro
      - ./workspace:/workspace
    ports:
      - 36000:36000
    tty: true
    stdin_open: true

如果你是 VSCode 远程开发,只需要和我一样映射 36000 端口即可。VSCode 会自动处理分支端口都是用 SSH 映射到 localhost。

启动:

docker-compose up -d
# SSH 远程登录(支持密码登录,密码在容器启动时自动生成)
ssh -p 36000 root@「服务器 IP」
# 容器进入
docker exec -it devbox zsh

密码管理

容器首次启动时会自动生成32位随机强密码:

  • 密码保存位置:/data/tmp/root_password.txt
  • 查看密码:docker exec devbox cat /data/tmp/root_password.txt
  • 容器重启后密码保持不变
  • 启动日志中会显示当前密码

获取密码示例:

# 查看容器启动日志中的密码
docker logs devbox | grep "Root密码"

# 直接读取密码文件
docker exec devbox cat /data/tmp/root_password.txt

特性

  • 🔑 自动处理SSH密钥权限
  • 📁 工作空间持久化 (/workspace)
  • 🐚 预配置Zsh环境
  • 🔧 多语言开发环境

VSCode Remote-SSH

配置SSH连接:

Host devbox
    HostName 「服务器 IP」
    Port 36000
    User root

NginxWebOne

轻量级 Nginx Web 服务器容器,基于 Alpine Linux 构建。

特性

  • 🏔️ 基于 Alpine Linux 3.22,体积小巧
  • 📦 Nginx 1.28.0 源码编译,包含常用模块
  • 🌐 支持 HTTP/2 和 SSL/TLS
  • 📁 支持多站点配置
  • 🔒 非 root 用户运行,安全可靠

快速开始

services:
  nginx:
    image: docker.cnb.cool/mintimate/code-nest/cloud-base-devbox/web-one:latest-linux-amd64
    container_name: nginx-dev
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./webRoot:/www/webRoot
      - ./webConf:/www/webConf
      - ./logs:/var/log/nginx

目录结构

/www/
├── webRoot/          # 网站文件
└── webConf/          # 站点配置

常用命令

# 启动服务
docker-compose up -d

# 重载配置(已配置环境变量)
docker exec nginx-dev nginx -s reload

# 查看日志
docker logs nginx-dev

配置示例

webConf/site.conf:

server {
    listen 80;
    server_name example.com;
    root /www/webRoot/example;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

项目结构

cloud-base-devbox/
├── README.md
├── AllInOneDev/
│   ├── Dockerfile
│   └── entrypoint.sh
└── NginxWebOne/
    ├── Dockerfile
    └── nginx.conf

About

基于 Docker 的云端统一开发环境镜像定义。旨在为团队提供开箱即用、版本化、可复现的开发环境(DevBox)。

Language
Dockerfile77.4%
Shell22.6%