iFlow Docker CLI 是一个用于管理 iFlow Docker 容器的命令行工具。它简化了容器的安装、运行、管理等操作,并自动处理 SSH 密钥和工作目录的挂载。
# 克隆仓库
git clone https://github.com/cc11001100/iflow-cli-docker.git
cd iflow-cli-docker
# 编译
go build -o iflow-docker
# (可选)安装到系统路径
sudo mv iflow-docker /usr/local/bin/iflow-docker install这会从 Docker Hub 拉取最新的 iFlow CLI 镜像。
# 设置工作目录
iflow-docker config set --workspace ~/my-projects
# 查看当前配置
iflow-docker config show# 启动交互式容器(默认启动 zsh)
iflow-docker run
# 指定容器名称
iflow-docker run --name my-dev
# 指定工作目录
iflow-docker run --workspace ~/code
# 不挂载 SSH 密钥
iflow-docker run --no-ssh
# 运行特定命令
iflow-docker run iflow --version从 Docker Hub 拉取 iFlow CLI 镜像。
iflow-docker install创建并启动一个新的 iFlow 容器实例。
iflow-docker run [flags] [command...]Flags:
-n, --name <name>: 指定容器名称-w, --workspace <path>: 指定工作目录路径--no-ssh: 不挂载 SSH 密钥
示例:
# 启动交互式容器
iflow-docker run
# 指定容器名称和工作目录
iflow-docker run --name my-dev --workspace ~/projects
# 运行特定命令
iflow-docker run iflow config show自动挂载:
- SSH 密钥:
~/.ssh→/root/.ssh(只读) - 工作目录: 配置的工作目录 →
/workspace
启动一个或多个已存在但已停止的容器。
iflow-docker start <container-id-or-name> [container-id-or-name...] [flags]Flags:
-d, --detach: 后台启动,不进入交互模式
示例:
# 启动容器并进入交互模式
iflow-docker start my-dev
# 后台启动容器
iflow-docker start my-dev -d
# 启动多个容器
iflow-docker start container1 container2注意: 与 run 命令不同,start 用于启动已存在的容器,而 run 用于创建新容器。
显示所有 iFlow 容器实例。
iflow-docker list [flags]别名: ls
Flags:
-a, --all: 显示所有容器,不仅仅是 iFlow 容器
示例:
# 列出 iFlow 容器
iflow-docker list
# 列出所有容器
iflow-docker list --all停止一个或多个运行中的容器。
iflow-docker stop <container-id-or-name> [container-id-or-name...]示例:
# 停止单个容器
iflow-docker stop my-dev
# 停止多个容器
iflow-docker stop my-dev my-test删除一个或多个容器。
iflow-docker remove <container-id-or-name> [container-id-or-name...]别名: rm
示例:
# 删除单个容器
iflow-docker remove my-dev
# 删除多个容器
iflow-docker rm my-dev my-test从本地删除 iFlow CLI 镜像。
iflow-docker uninstall管理 iFlow CLI Docker 镜像。
iflow-docker image <subcommand> [flags]子命令:
列出本地或远程的 iFlow CLI 镜像版本。
iflow-docker image list [flags]别名: ls
Flags:
-r, --remote: 显示远程可用镜像信息-a, --all: 显示本地和远程镜像
示例:
# 列出本地镜像
iflow-docker image list
# 查看远程可用镜像
iflow-docker image list --remote
# 查看所有镜像
iflow-docker image list --all输出说明:
- 列表中会用
*标记当前配置使用的镜像 - 显示镜像的仓库、标签、ID、大小、创建时间等信息
查看或修改 iFlow Docker CLI 的配置。
# 查看当前配置
iflow-docker config show
# 设置配置项
iflow-docker config set [flags]config set Flags:
-w, --workspace <path>: 设置工作目录-i, --image <name>: 设置镜像名称--mount-ssh: 启用自动挂载 SSH--no-mount-ssh: 禁用自动挂载 SSH
示例:
# 设置工作目录
iflow-docker config set --workspace ~/mywork
# 设置镜像名称
iflow-docker config set --image cc11001100/iflow-cli:0.3.22
# 启用自动挂载 SSH
iflow-docker config set --mount-ssh
# 禁用自动挂载 SSH
iflow-docker config set --no-mount-ssh配置文件位于: ~/.iflow-cli-docker/config.yaml
默认配置:
workspace: ~/iflow-workspace
image_name: cc11001100/iflow-cli:latest
auto_mount_ssh: true
container_prefix: iflow-cli# 为不同项目创建独立容器
iflow-docker run --name project-a --workspace ~/projects/project-a
iflow-docker run --name project-b --workspace ~/projects/project-bSSH 密钥自动挂载,可直接使用 Git:
iflow-docker run --workspace ~/my-repo
# 容器内:
# cd /workspace
# git clone git@github.com:user/repo.git# 启动临时容器,退出后自动清理
iflow-docker run iflow --version# 创建命名容器
iflow-docker run --name my-env
# 停止但不删除
iflow-docker stop my-env
# 稍后重新启动(进入交互模式)
iflow-docker start my-env
# 或后台启动
iflow-docker start my-env -d- 默认 Shell: Zsh with Oh My Zsh
- 预装工具:
- iFlow CLI (0.3.22)
- Git
- Node.js 22
- 其他开发工具
- 工作目录:
/workspace - 自动挂载: SSH 密钥(只读)
如果遇到 "Cannot connect to Docker daemon" 错误:
# 检查 Docker 是否运行
docker ps
# macOS: 确保 Docker Desktop 已启动
# Linux: 确保 Docker 服务运行
sudo systemctl status docker# 使用 --all 查看所有容器
iflow-docker list --all# 确保 SSH 密钥存在
ls -la ~/.ssh/
# 检查权限
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub# 更新镜像
iflow-docker uninstall
iflow-docker install
# 更新 CLI 工具(从源码重新编译)
cd iflow-cli-docker
git pull
go build -o iflow-docker
sudo mv iflow-docker /usr/local/bin/Apache 2.0 License