Java docker jdk alpine 8上带有BusyBox消息的Spring微服务

Java docker jdk alpine 8上带有BusyBox消息的Spring微服务,java,linux,docker,alpine,busybox,Java,Linux,Docker,Alpine,Busybox,我试图在docker的jdk alpine映像上运行Spring Cloud microservice,但在运行两个容器的过程中,我收到了以下消息: licensingservice_1 | BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary. licensingservice_1 | licensingservice_1 | Usage: basename FILE [SUFFIX] lic

我试图在docker的jdk alpine映像上运行Spring Cloud microservice,但在运行两个容器的过程中,我收到了以下消息:

licensingservice_1       | BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.
licensingservice_1       |
licensingservice_1       | Usage: basename FILE [SUFFIX]
licensingservice_1       |
licensingservice_1       | Strip directory path and .SUFFIX from FILE
licensingservice_1       | usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-O length]
licensingservice_1       |        [-P proxy_username] [-p source_port] [-q seconds] [-s source]
licensingservice_1       |        [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
licensingservice_1       |        [-x proxy_address[:port]] [destination] [port]
下面是用于构建映像的docker文件和run.sh文件

DockerFile

FROM openjdk:8-jdk-alpine
RUN  apk update && apk upgrade && apk add netcat-openbsd
RUN mkdir -p /usr/local/licensingservice
ADD @project.build.finalName@.jar /usr/local/licensingservice/
ADD run.sh run.sh
RUN chmod +x run.sh
CMD ./run.sh
run.sh

#!/bin/sh
getPort() {
    echo $1 | cut -d : -f 3 | xargs basename
}

echo "********************************************************"
echo "Waiting for the eureka server to start on port $(getPort $EUREKASERVER_PORT)"
echo "********************************************************"
while ! `nc -z eurekaserver  $(getPort $EUREKASERVER_PORT)`; do sleep 3; done
echo "******* Eureka Server has started"


echo "********************************************************"
echo "Waiting for the configuration server to start on port $(getPort $CONFIGSERVER_PORT)"
echo "********************************************************"
while ! `nc -z configserver $(getPort $CONFIGSERVER_PORT)`; do sleep 3; done
echo "*******  Configuration Server has started"


echo "********************************************************"
echo "Waiting for the kafka server to start on port  $(getPort $KAFKASERVER_PORT)"
echo "********************************************************"
while ! `nc -z kafkaserver  $(getPort $KAFKASERVER_PORT)`; do sleep 10; done
echo "******* Kafka Server has started"

echo "********************************************************"
echo "Starting License Server with Configuration Service via Eureka :  $EUREKASERVER_URI:$SERVER_PORT"
echo "Using Kafka Server: $KAFKASERVER_URI"
echo "Using ZK    Server: $ZKSERVER_URI"
echo "USing Profile: $PROFILE"
echo "********************************************************"
java -Djava.security.egd=file:/dev/./urandom -Dserver.port=$SERVER_PORT   \
     -Deureka.client.serviceUrl.defaultZone=$EUREKASERVER_URI             \
     -Dspring.cloud.config.uri=$CONFIGSERVER_URI                          \
     -Dspring.cloud.stream.kafka.binder.zkNodes=$KAFKASERVER_URI          \
     -Dspring.cloud.stream.kafka.binder.brokers=$ZKSERVER_URI             \
     -Dsecurity.oauth2.resource.userInfoUri=$AUTHSERVER_URI               \
     -Dspring.profiles.active=$PROFILE -jar /usr/local/licensingservice/@project.build.finalName@.jar

我已经用带有spotify docker插件1.2.0的mvn clean package docker:build命令构建了这个图像

是什么设置了变量,比如
$EUREKASERVER\u PORT
?如果这些变量为空,我可以看到发生此错误。@DavidMaze我使用docker compose传递环境参数,看起来我忽略了其中一些参数,出现了这个奇怪的错误。谢谢你的帮助!是什么设置变量,如
$EUREKASERVER\u PORT
?如果这些变量为空,我可以看到发生此错误。@DavidMaze我使用docker compose传递环境参数,看起来我忽略了其中一些参数,出现了这个奇怪的错误。谢谢你的帮助!