linuxserver/cloud9该镜像已废弃。我们将不再为该镜像提供支持,也不会进行更新。
建议考虑使用我们的 code-server 和 openvscode-server 容器作为替代方案:
linuxserver/cloud9 是 LinuxServer.io 团队提供的 Docker 镜像,用于运行 Cloud9 核心 SDK。Cloud9 是一个完整的基于 Web 的集成开发环境(IDE),包含终端访问功能。该容器主要用于本地运行 Cloud9 核心 SDK 及开发插件。
该镜像基于 LinuxServer.io 容器构建标准,具备以下特性(注意:镜像已废弃,以下特性不再维护):
Cloud9 作为 Web 端 IDE,适用于需要通过浏览器进行代码编写、调试及终端操作的场景,尤其适合本地开发 Cloud9 插件。
由于该镜像已废弃,建议迁移至 code-server 或 openvscode-server 以获得持续支持和更新。
该镜像通过 Docker manifest 支持多平台,拉取 lscr.io/linuxserver/cloud9:latest 即可自动匹配对应架构。也可通过标签指定特定架构:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
| armhf | ✅ | arm32v7-<version tag> |
镜像提供以下版本标签(已停止更新):
| 标签 | 支持状态 | 描述 |
|---|---|---|
| latest | ✅ | 预安装 Docker 和 Compose 环境 |
| go | ✅ | 预安装基础 Golang 环境 |
| nodejs | ✅ | 预安装当前稳定版 NodeJS/NPM 环境 |
| python | ✅ | 预安装当前 Python3 环境 |
| ruby | ✅ | 预安装当前 Ruby 环境 |
访问 Web 界面:[***]。更多信息参考 Cloud9 官方文档。
yaml--- version: "2.1" services: cloud9: image: lscr.io/linuxserver/cloud9:latest # 注意:该镜像已废弃 container_name: cloud9 environment: - PUID=1000 # 用户ID,参考下文"用户/组标识符" - PGID=1000 # 组ID,参考下文"用户/组标识符" - TZ=Europe/London # 时区,如 Asia/Shanghai - GITURL=[***] # 可选,首次启动时拉取的Git仓库 - USERNAME= # 可选,HTTP认证用户名 - PASSWORD= # 可选,HTTP认证密码(若未设置用户名和密码,则不启用HTTP认证) volumes: - /path/to/your/code:/code # 可选,本地代码目录挂载 - /var/run/docker.sock:/var/run/docker.sock # 可选,如需使用Docker或Compose命令需挂载 ports: - 8000:8000 # Web界面端口映射 restart: unless-stopped
bashdocker run -d \ --name=cloud9 \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e GITURL=[***] `# 可选` \ -e USERNAME= `# 可选` \ -e PASSWORD= `# 可选` \ -p 8000:8000 \ -v /path/to/your/code:/code `# 可选` \ -v /var/run/docker.sock:/var/run/docker.sock `# 可选` \ --restart unless-stopped \ lscr.io/linuxserver/cloud9:latest # 注意:该镜像已废弃
| 参数 | 功能描述 |
|---|---|
-p 8000 | Cloud9 Web界面访问端口 |
| 参数 | 功能描述 |
|---|---|
-e PUID=1000 | 用户ID,用于解决容器内文件权限与宿主机的冲突,通过 id username 命令获取 |
-e PGID=1000 | 组ID,同上 |
-e TZ=Europe/London | 时区设置,如 Asia/Shanghai(上海时区) |
-e GITURL=<url> | 可选,首次启动时自动拉取的Git仓库地址 |
-e USERNAME=<name> | 可选,启用HTTP认证的用户名 |
-e PASSWORD=<pass> | 可选,启用HTTP认证的密码(需与USERNAME同时设置才生效) |
| 参数 | 功能描述 |
|---|---|
-v /code | 可选,本地代码目录挂载,用于持久化存储开发文件 |
-v /var/run/docker.sock | 可选,挂载宿主机Docker套接字,使容器内可执行Docker或Docker Compose命令 |
可通过 FILE__<变量名> 格式从文件加载环境变量,例如:
bash-e FILE__PASSWORD=/run/secrets/mysecretpassword
此时 PASSWORD 变量的值将从 /run/secrets/mysecretpassword 文件内容读取。
使用卷挂载(-v)时,可能出现宿主机与容器的权限冲突。通过指定 PUID(用户ID)和 PGID(组ID),确保宿主机卷目录的所有者与容器内运行用户一致,可避免权限问题。
获取当前用户的PUID和PGID:
bashid username # 输出示例:uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
docker exec -it cloud9 /bin/bashdocker logs -f cloud9docker inspect -f '{{ index .Config.Labels "build_version" }}' cloud9docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/cloud9:latest注意:该镜像已废弃,不再提供更新。以下为通用容器更新方法(仅作参考):
bash# 拉取最新镜像(若镜像未更新则无变化) docker-compose pull cloud9 # 重启容器应用更新 docker-compose up -d cloud9 # 清理旧镜像 docker image prune
bash# 拉取最新镜像 docker pull lscr.io/linuxserver/cloud9:latest # 停止并删除旧容器 docker stop cloud9 && docker rm cloud9 # 用原参数重新创建容器(卷挂载正确时,配置会保留) docker run -d [原参数] lscr.io/linuxserver/cloud9:latest # 清理旧镜像 docker image prune
如需本地修改镜像(不推荐,建议使用替代方案):
bashgit clone [***] cd docker-cloud9 docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/cloud9:latest .
构建ARM架构镜像(需在x86_64主机上配置qemu):
bash# 注册qemu docker run --rm --privileged multiarch/qemu-user-static:register --reset # 构建指定架构(如arm64v8) docker build -f Dockerfile.aarch64 -t lscr.io/linuxserver/cloud9:arm64v8-latest .
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务