基于 VS Code CLI 的容器化开发环境,预装了现代化开发工具和终端体验
本项目提供两个镜像变体以满足不同的使用需求:
latest)- 推荐coder (UID 1000)stable)root 用户运行# 使用标准版(推荐)
docker run -d --name vscode -p 8000:8000 aliuq/vscode:latest
# 使用稳定版
docker run -d --name vscode-stable -p 8000:8000 aliuq/vscode:stable
aliuq/vscode# 基础使用
docker run -d --name vscode -p 8000:8000 aliuq/vscode:latest
# 带访问令牌
docker run -d --name vscode -p 8000:8000 -e TOKEN=your-secret-token aliuq/vscode:latest
# 映射工作目录
docker run -d --name vscode -p 8000:8000 -v $(pwd):/home/workspace aliuq/vscode:latest
访问 http://localhost:8000 即可使用 Web IDE
暂时无法直连,只能通过官方的中继服务器进行通信
docker run -it --rm -e RUN_MODE=tunnel aliuq/vscode:latest
# 使用公钥认证
docker run -d --name vscode-ssh -p 2222:22 \
-e RUN_MODE=ssh \
-e PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)" \
-v $(pwd):/home/workspace \
aliuq/vscode:latest
# 使用公钥文件
docker run -d --name vscode-ssh -p 2222:22 \
-e RUN_MODE=ssh \
-e PUBLIC_KEY_FILE=/tmp/id_rsa.pub \
-v ~/.ssh/id_rsa.pub:/tmp/id_rsa.pub \
-v $(pwd):/home/workspace \
aliuq/vscode:latest
# SSH 连接
ssh -i /tmp/id_rsa -p 2222 coder@localhost
创建 docker-compose.yml 文件:
name: vscode
services:
vscode:
image: aliuq/vscode:latest
container_name: vscode
hostname: aliuq-vscode # 可选,设置容器主机名,更清晰
restart: unless-stopped
ports:
- '8000:8000'
volumes:
- ./workspace:/home/workspace
environment:
- TOKEN=your-secret-token # 可选,设置访问令牌
运行服务:
docker-compose up -d
zsh-autosuggestions - 命令自动建议zsh-syntax-highlighting - 语法高亮extract - 智能解压缩fzf, eza, zoxide, mise 集成coder 用户)| 变量名 | 默认值 | 描述 |
|---|---|---|
RUN_MODE | serve-web | 运行模式:serve-web, tunnel, custom, empty, ssh |
HOST | 0.0.0.0 | 绑定的主机地址 |
PORT | 8000 | 监听端口 |
TOKEN | - | 访问令牌(可选) |
STARSHIP_CONFIG | - | Starship 配置文件路径或 URL |
PUBLIC_KEY | - | SSH 公钥内容(SSH 模式) |
PUBLIC_KEY_FILE | - | SSH 公钥文件路径(SSH 模式) |
启动 VS Code Web 服务器,可通过浏览器访问
docker run -p 8000:8000 aliuq/vscode:latest
启动 VS Code 隧道模式,可通过 vscode.dev 远程访问
docker run -it -e RUN_MODE=tunnel aliuq/vscode:latest
自定义 VS Code 命令
# code --version
docker run -e RUN_MODE=custom aliuq/vscode:latest --version
不启动 VS Code,直接进入容器
docker run -it -e RUN_MODE=empty aliuq/vscode:latest /bin/zsh
启动 SSH 服务器,可通过 SSH 远程连接
# 使用公钥认证
docker run -d -p 2222:22 -e RUN_MODE=ssh -e PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)" aliuq/vscode:latest
# 连接到容器
ssh -p 2222 coder@localhost
可以通过以下方式自定义 Starship 配置:
docker run -v /path/to/starship.toml:/tmp/starship.toml aliuq/vscode:latest
docker run -e STARSHIP_CONFIG=/path/to/custom.toml -v /path/to/custom.toml:/path/to/custom.toml aliuq/vscode:latest
docker run -e STARSHIP_CONFIG=https://example.com/starship.toml aliuq/vscode:latest
# 映射当前目录作为工作空间
docker run -v $(pwd):/home/workspace aliuq/vscode:latest
# 映射特定目录
docker run -v /path/to/your/project:/home/workspace aliuq/vscode:latest
docker run -d \
--name vscode-nodejs \
-p 8000:8000 \
-v $(pwd):/home/workspace \
-e TOKEN=my-secret-token \
aliuq/vscode:latest
docker run -it --rm \
-p 8000:8000 \
-v $(pwd):/home/workspace \
aliuq/vscode:latest
docker run -it --rm \
-e RUN_MODE=tunnel \
-v $(pwd):/home/workspace \
aliuq/vscode:latest
# 启动 SSH 服务
docker run -d \
--name vscode-ssh \
-p 2222:22 \
-e RUN_MODE=ssh \
-e PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)" \
-v $(pwd):/home/workspace \
aliuq/vscode:latest
# 通过 SSH 连接
ssh -p 2222 coder@localhost
http://localhost:8000http://localhost:8000/?tkn=your-tokenssh -p 2222 coder@localhost/home/workspacecoder 运行,stable以 root 运行Content type
Image
Digest
sha256:a734c272f…
Size
251.7 MB
Last updated
4 days ago
docker pull aliuq/vscode