请使用3.7.3或更高版本。该版本已缓解log4j漏洞。
注意- 若已迁移至基于IB的许可证,请参考本文档底部的说明。
使用docker run(或Docker Cloud等平台的等效命令)时,通过设置环境变量在外部与Docker镜像间传递信息。在Docker Cloud等平台中,这些变量通常通过表格配置;在命令行中,作为docker run命令的参数传递:
consoledocker run -e EnvironmentVariable1Name=EnvironmentVariable1Value -e EnvironmentVariable2Name=EnvironmentVariable2Value smartbear/ready-api-virtserver
通过docker run运行镜像时,也可使用--env-file参数指定包含所有环境设置的文件。详见Docker手册。
| 环境变量 | 可选 | 描述 |
|---|---|---|
| VirtServerUser | 是* | 要添加到用户数据库的VirtServer管理员用户名 |
| VirtServerPassword | 是* | 上述VirtServerUser用户的密码 |
| VirtServerUserRole=admin | 是* | 为创建的用户授予管理员权限。首次运行建议设置,因仅管理员可添加新用户 |
| VirtServerLicenseServer | 否 | 浮动许可证服务器的主机名:端口;若未设置,服务器将期望通过VirtServerLicense传入试用许可证 |
| VirtServerClassPathExt | 是 | 指定ext目录位置,用于添加额外JAR包 |
| DockerUser | 是 | 从浮动许可证服务器请求许可证时使用的用户;若未设置,默认使用root |
| UseHTTPS | 是 | 使用HTTPS与VirtServer通信,默认值为true(推荐) |
| CertificateSubject | 是 | 生成自签名证书时使用的主题字符串,格式示例:/C=US/ST=MA/L=Somerville/O=SmartBear/OU=com/CN=virtserver.smartbear.local |
| CONFIG | 是 | 可选的镜像相对路径,指向替代配置文件 |
| JVM_OPT_<unique_id> | 是 | 传递额外JVM选项,格式为JVM_OPT_1=-Dproperty=value(详见下文) |
| USAGE_STATISTICS | 是 | 发送使用统计信息(默认true) |
| ACCEPT_TOU | 是* | 运行VirtServer前必须接受服务条款([***] |
*通常需要设置一次。若多次运行间重用存储卷(
/virtserver/),传递的值将持久化。若卷持久化,重用VirtServerUser和VirtServerPassword环境变量将添加或更新用户数据库。
在Docker中运行VirtServer时,默认配置文件位于/virtserver/。使用HTTPS时,默认配置文件为/virtserver/virt-server-docker-https.yml;使用HTTP时,为/virtserver/virt-server-docker.yml。通过设置环境变量CONFIG(-e CONFIG=/virtserver/some-file.yml)可指定其他文件(需传输至容器卷),这要求卷在多次运行间保持持久化。
除非在安全内部环境中运行,否则建议使用HTTPS而非HTTP进行客户端(通常为ReadyAPI Virtualization)与服务器间的通信。默认使用HTTPS;若需使用HTTP,指定-e UseHTTPS=false。
镜像默认包含预生成的自签名证书。通过-e CertificateSubject可生成新的自签名证书并替换默认证书。
自签名证书虽能防止网络嗅探,但在其他方面被视为不安全,多数浏览器会警告。有关安装可信证书的详细信息,请参考VirtServer文档。
重要:运行Docker镜像时,必须在多次运行间持久化
/virtserver存储卷,以保留已安装的证书、添加的用户、部署的虚拟服务及配置更改。通过docker run的-v参数可实现卷挂载(详见Docker文档)。
以下是通过docker run运行VirtServer的完整示例:
consoledocker run -v /opt/virtserver:/virtserver -p9090:9090 -p 8000-8010:8000-8010 -e UseHTTPS=true -e ACCEPT_TOU=true \ -e VirtServerUser=john.smith -e VirtServerPassword=secret -e VirtServerUserRole=admin -e DockerUser=virtserver1 \ -e VirtServerLicenseServer=172.0.64.128:1099 smartbear/ready-api-virtserver
| 部分 | 解释 |
|---|---|
docker run | 运行Docker容器 |
-v /var/virtserver:/virtserver | 将本地目录/var/virtserver挂载到容器的/virtserver卷 |
-p9090:9090 -p 8000-8010:8000-8010 | 发布容器端口9090(管理端口)和8000-8010(虚拟API端口)到主机对应端口 |
-e ACCEPT_TOU=true | 接受服务条款([***] |
-e VirtServerUser=admin -e VirtServerPassword=secret -e VirtServerUserRole=admin | 创建管理员用户(仅管理员可管理用户) |
-e DockerUser=virtserver1 | 从许可证服务器获取许可证时使用用户virtserver1 |
-e VirtServerLicenseServer=172.0.64.128:1099 | 指定浮动许可证服务器地址为172.0.64.128:1099 |
smartbear/ready-api-virtserver | 镜像名称,可通过标签指定版本(如2.0.2)或使用latest获取最新版本 |
通过前缀为JVM_OPT_的环境变量可向Java进程传递任意命令行参数。例如,要设置TestServer的server.port.http配置属性,可定义环境变量JVM_OPT_HTTP_PORT,值为-Dserver.port.http=XXXX。
确保暴露虚拟服务(Virts)所需的端口!
若要在Docker容器中使用新的SmartBear ID-based许可证运行VirtServer,需先运行docker login命令,然后根据许可证托管位置使用以下命令(替换为实际值):
consoledocker run -v /opt/virtserver:/virtserver -p 9090:9090 -p 8000-8010:8000-8010 -e VirtServerUser=User-Name -e VirtServerPassword=Smith -e VirtServerUserRole=admin -e DockerUser=VirtServerLicenseUser -e ACCEPT_TOU=true -e SlmAccessKey=<SLM access key> docker.io/smartbear/ready-api-virtserver:latest
consoledocker run -v /opt/virtserver:/virtserver -p 9090:9090 -p 8000-8010:8000-8010 -e VirtServerUser=User-Name -e VirtServerPassword=Smith -e VirtServerUserRole=admin -e DockerUser=VirtServerLicenseUser -e ACCEPT_TOU=true -e SlmServerUrl=<SLM许可证服务器地址,需包含端口40892> -e SlmAccessKey=<SLM access key> docker.io/smartbear/ready-api-virtserver:latest
请根据实际情况添加参数值。 docker run命令启动容器并指定必要参数,上述命令包含启动VirtServer所需的基本参数。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429