首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker amazon linux2022: openjdk-17租用一个非零代码:2

Docker amazon linux2022: openjdk-17租用一个非零代码:2
EN

Stack Overflow用户
提问于 2022-09-15 19:08:44
回答 1查看 59关注 0票数 0

我的文件是这样的。但是当我构建时,我会得到以下错误。如果我按照我的码头形象做这件事,并在它上做了狂欢,这是奇怪的工作。

代码语言:javascript
复制
docker build -t mydocker:latest


FROM amazonlinux:2022
RUN mkdir -p /APP
WORKDIR APP
RUN yum update -y
RUN yum install wget -y
RUN mkdir -p /usr/share/man/man1/
RUN wget https://download.java.net/java/GA/jdk17/0d483333a00540d886896bac774ff48b/35/GPL/openjdk-17_linux-x64_bin.tar.gz
RUN yum install tar -y
RUN yum install gzip -y
COPY openjdk-17_linux-x64_bin.tar.gz /APP
RUN tar xvf openjdk-17_linux-x64_bin.tar.gz


Step 11/11 : RUN tar xvf openjdk-17_linux-x64_bin.tar.gz
 ---> Running in 83a94400e4b7
jdk-17/bin/jar
jdk-17/bin/jarsigner
jdk-17/bin/java
jdk-17/bin/javac
jdk-17/bin/javadoc
jdk-17/bin/javap
jdk-17/bin/jcmd
jdk-17/bin/jconsole
jdk-17/bin/jdb
jdk-17/bin/jdeprscan
jdk-17/bin/jdeps
jdk-17/bin/jfr
jdk-17/bin/jhsdb
jdk-17/bin/jimage
jdk-17/bin/jinfo
jdk-17/bin/jlink
jdk-17/bin/jmap
jdk-17/bin/jmod
jdk-17/bin/jpackage
jdk-17/bin/jps
jdk-17/bin/jrunscript
jdk-17/bin/jshell
jdk-17/bin/jstack
jdk-17/bin/jstat
jdk-17/bin/jstatd
jdk-17/bin/keytool
jdk-17/bin/rmiregistry
jdk-17/bin/serialver
jdk-17/conf/logging.properties
jdk-17/conf/management/jmxremote.access
jdk-17/conf/management/jmxremote.password.template
jdk-17/conf/management/management.properties
jdk-17/conf/net.properties
jdk-17/conf/sdp/sdp.conf.template
jdk-17/conf/security/java.policy
jdk-17/conf/security/java.security
jdk-17/conf/security/policy/README.txt
jdk-17/conf/security/policy/limited/default_US_export.policy
jdk-17/conf/security/policy/limited/default_local.policy
jdk-17/conf/security/policy/limited/exempt_local.policy
jdk-17/conf/security/policy/unlimited/default_US_export.policy
jdk-17/conf/security/policy/unlimited/default_local.policy
jdk-17/conf/sound.properties
jdk-17/include/classfile_constants.h
jdk-17/include/jawt.h
jdk-17/include/jdwpTransport.h
jdk-17/include/jni.h
jdk-17/include/jvmti.h
jdk-17/include/jvmticmlr.h
jdk-17/include/linux/jawt_md.h
jdk-17/include/linux/jni_md.h
jdk-17/jmods/java.base.jmod

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-15 19:47:18

我把你的Dockerfile改为:

代码语言:javascript
复制
FROM amazonlinux:2022
RUN mkdir -p /APP
WORKDIR APP
RUN yum update -y
RUN yum install wget -y
RUN mkdir -p /usr/share/man/man1/
RUN wget https://download.java.net/java/GA/jdk17/0d483333a00540d886896bac774ff48b/35/GPL/openjdk-17_linux-x64_bin.tar.gz
RUN yum install tar -y
RUN yum install gzip -y
RUN tar xvf openjdk-17_linux-x64_bin.tar.gz -C /APP

并且能够很好地创建容器。如果我用了你的Dockerfile,我会得到:

代码语言:javascript
复制
Step 10/11 : COPY openjdk-17_linux-x64_bin.tar.gz /APP
COPY failed: file not found in build context or excluded by .dockerignore: stat openjdk-17_linux-x64_bin.tar.gz: file does not exist

因为COPY从主机文件系统复制,而不是从Docker文件系统复制。也许您的本地openjdk-17_linux-x64_bin.tar.gz副本被截断了。

或者,由于您使用的是Amazon停靠映像,所以您可以使用Amazon的Java (Corretto),如下所示:

代码语言:javascript
复制
FROM amazonlinux:2022
RUN mkdir -p /APP
WORKDIR APP
RUN yum update -y
RUN yum install wget -y
RUN mkdir -p /usr/share/man/man1/
RUN yum install tar -y
RUN yum install gzip -y
RUN yum install java-11-amazon-corretto-headless -y

假设你想要“无头”版本。

我的码头版本是"20.10.18“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73736248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档