docker - 如何解决 Raspberry Pi 上的 Gradle docker 图像卡住问题并发出有关单调时钟的警告?

标签 docker gradle raspberry-pi raspberry-pi4 adoptopenjdk

我正在尝试设置一个 Docker 容器来构建和运行一个小型应用程序。这是我的 Dockerfile:

#####################
# build the jar
#####################

FROM gradle:jdk11 as builder
COPY --chown=gradle:gradle application /application
WORKDIR /application
RUN gradle build

#####################
# run the app
#####################

# Use this on a non-arm machine
# FROM openjdk:11

# Use this on an arm machine, such as a raspberry pi
FROM arm32v7/adoptopenjdk:11

EXPOSE 8080
COPY --from=builder /application/build/libs/myjar.jar .
WORKDIR /
CMD java -jar ./myjar.jar

docker build -t myimage .在我的个人机器(Macbook Pro)上运行没有问题。如果我尝试在 Raspberry Pi 4B 上构建镜像(这是最终目标),它会卡在 RUN gradle build 步骤并且永远不会完成。

这是我的终端输出:

pi@raspberrypi:~/development/my_test $ docker build -t test . 
Sending build context to Docker daemon  15.92MB
Step 1/9 : FROM gradle:jdk11 as builder
 ---> 0924090a3770
Step 2/9 : COPY --chown=gradle:gradle application /application
 ---> Using cache
 ---> b702fc76b9cb
Step 3/9 : WORKDIR /application
 ---> Using cache
 ---> dbc2aac75c7c
Step 4/9 : RUN gradle --no-daemon  build
 ---> Running in faec45c6cf01
OpenJDK Server VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes

就是这样。没有进一步发生。

起初,我忽略了 OpenJDK 警告,因为我在其他镜像中看到过它,并且运行它们没有任何问题。在所有其他选项都失败后,我开始怀疑它可能是罪魁祸首。如何解决这个问题?

最佳答案

我成功测试了适用于 jdk 16 和 jdk 17 的 Raspberry Pi 4(Raspbian 10 buster)的以下解决方案:

#Add dep Key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
#Add dep 
sudo echo 'deb http://httpredir.debian.org/debian buster-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/debian-backports.list
#Update and Install
sudo apt update
sudo apt install libseccomp2 -t buster-backports

来源:https://community.openhab.org/t/docker-openhab-3-2-0-snapshot-stuck-at-unhealthy-with-openjdk-client-vm-warning-no-monotonic-clock-was-available/128865/7

关于docker - 如何解决 Raspberry Pi 上的 Gradle docker 图像卡住问题并发出有关单调时钟的警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67346333/

相关文章:

docker - 从 docker compose 附加到容器重新启动容器

docker - 将容器与在单个Vagrant VM中运行的Kubernetes连接

android - Twitter4j - 导入问题 - AndroidStudio

gradle - 使用Gradle创建具有外部依赖关系的jar

c# - 如何在没有互联网的情况下在树莓派上包含 nuget 包?

Python 3 和 Pocket Sphinx

php7-fpm 错误 : failed to retrieve TCP_INFO for socket: Protocol not available (92)

docker - 是否可以在 boot2docker 上安装 gcloud(谷歌云 sdk)?

android-studio - 如何检查 Gradle 依赖项是否有新版本?

raspberry-pi - "moSTLy-memory"是什么意思?