You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建带有AWS与Azure扩展的Hawkbit更新服务器Docker镜像

Hawkbit自定义Docker镜像(含S3/Azure存储扩展)

官方镜像说明

Eclipse Hawkbit官方默认的更新服务器Docker镜像不包含AWS S3或Azure Blob存储的扩展依赖,这类存储扩展属于可选功能,需要基于源码构建自定义镜像来集成。

自定义镜像构建步骤(已完成依赖添加与源码构建)

1. 定位构建产物

源码构建完成后,Hawkbit更新服务器的可执行JAR包会生成在hawkbit-runtime/hawkbit-update-server/target/目录下,文件名格式为hawkbit-update-server-${project.version}.jar(${project.version}为你构建时的版本号,例如0.3.0M7)。你可以解压该JAR包,检查BOOT-INF/lib目录,确认其中包含s3和azure相关的扩展依赖JAR。

2. 编写Dockerfile

创建一个新的本地目录,将上述构建好的JAR包复制到该目录,然后在目录内新建Dockerfile,内容如下:

# 选用与Hawkbit兼容的OpenJDK镜像,推荐JDK 11
FROM openjdk:11-jre-slim

WORKDIR /app

# 复制本地构建的Hawkbit服务JAR到镜像内
COPY hawkbit-update-server-*.jar app.jar

# 暴露Hawkbit默认服务端口
EXPOSE 8080

# 启动服务
ENTRYPOINT ["java", "-jar", "/app/app.jar"]

3. 构建Docker镜像

进入存放Dockerfile和JAR包的目录,执行以下命令构建镜像(替换your-image-name和your-tag为自定义的镜像名和版本标签):

docker build -t your-image-name:your-tag .

4. 运行与验证

启动镜像时,需通过环境变量指定存储类型及对应配置参数:

  • S3存储示例:
docker run -d \
  -p 8080:8080 \
  -e hawkbit.artifact.repository.type=s3 \
  -e hawkbit.artifact.repository.s3.access-key=你的S3访问密钥 \
  -e hawkbit.artifact.repository.s3.secret-key=你的S3密钥 \
  -e hawkbit.artifact.repository.s3.bucket=你的S3存储桶名称 \
  your-image-name:your-tag
  • Azure Blob存储示例:
docker run -d \
  -p 8080:8080 \
  -e hawkbit.artifact.repository.type=azure \
  -e hawkbit.artifact.repository.azure.account-name=你的Azure存储账户名 \
  -e hawkbit.artifact.repository.azure.account-key=你的Azure存储密钥 \
  -e hawkbit.artifact.repository.azure.container=你的Azure容器名称 \
  your-image-name:your-tag

服务启动后,访问http://localhost:8080确认Hawkbit正常运行,上传测试制品验证是否能正确存储到对应云存储服务中。

内容的提问来源于stack exchange,提问作者Amish Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:35:17