jetbrains/upsource本镜像为JetBrains Upsource的官方Docker镜像,适用于代码审查、项目管理及源代码分析场景,支持评估环境快速部署与生产环境稳定运行。Upsource是一款集成化代码协作工具,提供多语言代码导航、智能分析及团队协作功能。
从Docker Hub拉取指定版本的镜像,版本标签需包含Upsource发行版及构建号:
bashdocker pull jetbrains/upsource:{version}
版本标签列表参见Docker Hub Tags。
通过help命令查看镜像入口点支持的命令:
bashdocker run -it --rm jetbrains/upsource:{version} help
通过以下命令启动Upsource容器,需映射必要目录以确保数据持久化:
bashdocker run -it --name upsource-server-instance \ -v {宿主机数据目录}:/opt/upsource/data \ -v {宿主机配置目录}:/opt/upsource/conf \ -v {宿主机日志目录}:/opt/upsource/logs \ -v {宿主机备份目录}:/opt/upsource/backups \ -p {宿主机端口}:8080 \ jetbrains/upsource:{version}
| 占位符 | 描述 |
|---|---|
{宿主机数据目录} | 存储Apache Cassandra数据库文件,新实例需为空目录;生产环境必须映射,否则容器删除后数据丢失。 |
{宿主机配置目录} | 存储环境设置、JVM选项、Hub集成配置等文件。 |
{宿主机日志目录} | 存储服务运行日志文件。 |
{宿主机备份目录} | 存储自动/手动备份文件,备份管理详情参见Upsource文档。 |
{宿主机端口} | 宿主机端口,映射容器内8080端口(Upsource默认服务端口)。 |
注意:非生产环境(如测试/演示)可省略目录映射,但数据会存储在***卷中,存在容器删除后丢失的风险,且难以定位文件路径。
Upsource服务以非root账户***:***运行,首次启动前需为宿主机目录设置权限:
bash# 创建目录并设置权限(权限掩码750) mkdir -p -m 750 {宿主机数据目录} {宿主机日志目录} {宿主机配置目录} {宿主机备份目录} # 递归设置目录所有者为***:*** chown -R ***:*** {宿主机数据目录} {宿主机日志目录} {宿主机配置目录} {宿主机备份目录}
服务启动后,通过宿主机IP和映射端口访问:
0.0.0.0:8080http://{宿主机IP}:{宿主机端口}通过容器内命令触发服务正常关闭:
bashdocker exec {容器ID} stop
使用docker stop命令并指定超时时间(建议30分钟,确保数据写入完成):
bashdocker stop -t 1800 {容器ID} # 1800秒=30分钟
警告:直接使用
docker kill或未指定超时的docker stop可能导致数据 corruption。
首次启动时,服务会在默认端口启动浏览器配置向导,支持设置管理员账户、基础URL等参数。配置完成后跳转至Upsource欢迎页面。
通过configure命令可跳过向导或修改现有配置(需停止服务):
bashdocker run -it --rm \ -v {宿主机数据目录}:/opt/upsource/data \ -v {宿主机配置目录}:/opt/upsource/conf \ -v {宿主机日志目录}:/opt/upsource/logs \ -v {宿主机备份目录}:/opt/upsource/backups \ jetbrains/upsource:{version} \ configure \ {配置参数}
{配置参数}:支持产品属性(如--base-url)或JVM选项(如-J-Xmx4g)。docker run -it jetbrains/upsource:{version} help。首次启动时若需直接使用默认配置,需通过configure命令禁用向导并显式设置base-url:
bashdocker run -it --rm \ -v {宿主机数据目录}:/opt/upsource/data \ -v {宿主机配置目录}:/opt/upsource/conf \ jetbrains/upsource:{version} \ configure \ -J-Ddisable.configuration.wizard.on.clean.install=true \ --base-url={外部访问URL} # 如[***]
Upsource对部分语言的高级分析功能依赖第三方工具(如Python解释器、PHP环境等)。具体需求参见项目配置指南。可基于官方镜像构建包含第三方工具的自定义镜像,示例Dockerfile参见GitHub仓库。
适用于同一主版本内的bugfix更新(如3.5.xxxx→3.5.yyyy):
docker stop {容器ID}。docker pull jetbrains/upsource:{新版本标签}。适用于跨主版本更新(如3.5.xxxx→2017.1.yyyy),需通过备份恢复:
{宿主机备份目录})。docker stop {容器ID}。{宿主机数据目录}和{宿主机配置目录}下的所有文件。{宿主机备份目录}下。docker pull jetbrains/upsource:{新版本标签}。本镜像遵循Upsource许可协议,免费支持最多10用户永久使用。商业许可详情参见JetBrains Upsource Licensing。
当前版本发布说明可在Upsource下载页查看;历史版本发布说明参见Previous Upsource Releases。
问题反馈或功能建议请提交至Upsource Issue Tracker。
本镜像基于以下基础组件构建:
debian:stretch-slim如需部署大规模分布式集群(支持1000+用户或超大型代码库),可参考分布式安装文档。相关组件镜像包括:
jetbrains/upsource-analyzerjetbrains/upsource-frontendjetbrains/upsource-opscenterjetbrains/upsource-psi-brokerjetbrains/upsource-psi-agentjetbrains/upsource-cluster-initjetbrains/upsource-proxyjetbrains/upsource-file-clusteringmanifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务