我是新来的社区新来的码头工人。我必须虚拟化一个乐山服务器通过码头,我必须这样做的选项“-红色”,乐山作出的每一个。因此,我决定从停靠中心获取一个dockerfile,并修改最后一个"CMD“操作,添加”-redis“选项。映像的构建是成功的,但是当我试图在容器中运行映像时,错误是“无效的或损坏的jarfile”。这个问题在没有选项“-redis”(没有修改dockerfile)的情况下也会出现。奇怪的是,如果我从dockerhub中提取映像并通过同一个dockerfile运行服务器构建,它就能工作!
这是停靠文件:
FROM linarotechnologies/alpine:edge
RUN apk add --no-cache openjdk8-jre-base ca-certificates shadow curl
runit
RUN mkdir -p /opt/leshan-server-demo && \
curl -o /opt/leshan-server-demo/leshan-server-demo.jar \
https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.jar
RUN useradd -r -d /opt/leshan-server-demo -s /sbin/nologin -U leshan
CMD cd /tmp && chpst -u leshan java -jar /opt/leshan-server-demo/leshan-server-demo.jar $LESHAN_ARGS这就是构建:
Sending build context to Docker daemon 7.294MB
Step 1/5 : FROM linarotechnologies/alpine:edge
---> 7463224280b0
Step 2/5 : RUN apk add --no-cache openjdk8-jre-base ca-certificates shadow curl runit
---> Using cache
---> ebe6e6280cdf
Step 3/5 : RUN mkdir -p /opt/leshan-server-demo && curl -o /opt/leshan-server-demo/leshan-server-demo.jar https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.jar
---> Using cache
---> 52b61160e8c5
Step 4/5 : RUN useradd -r -d /opt/leshan-server-demo -s /sbin/nologin -U leshan
---> Using cache
---> 53419af60e36
Step 5/5 : CMD cd /tmp && chpst -u leshan java -jar /opt/leshan-server-demo/leshan-server-demo.jar $LESHAN_ARGS#
---> Running in 52cb5fc95ffb
Removing intermediate container 52cb5fc95ffb
---> 68acab7c306e
Successfully built 68acab7c306e
Successfully tagged leshan-server:latest这就是我运行时的错误:
sudo docker run --rm -ti --name leshan-server leshan-server Error: Invalid or corrupt jarfile /opt/leshan-server-demo/leshan-server-demo.jar
有什么想法吗?谢谢你的帮助!
发布于 2020-06-11 08:53:31
https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.jar此url已重定向到302。您必须使用带curl的-L参数来跟踪链接。
发布于 2020-06-11 09:03:17
~# curl -o test.jar https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.jar
~# cat leshan-server-demo.jar
<html>
<head><title>302 Found</title></head>
<body>
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>curl正在下载html重定向页面。
您可以使用-L选项告诉curl遵循重定向。
/opt/leshan-server-demo # curl -L -o test.jar https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.
jar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 138 100 138 0 0 316 0 --:--:-- --:--:-- --:--:-- 315
100 7618k 100 7618k 0 0 622k 0 0:00:12 0:00:12 --:--:-- 481k
/opt/leshan-server-demo #https://stackoverflow.com/questions/62319675
复制相似问题