Docker 如何像这样设置url`https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz`on CentOS 7

Docker 如何像这样设置url`https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz`on CentOS 7,docker,centos,apache-kafka,Docker,Centos,Apache Kafka,基本环境: [root@0b3608de9c84 tmp]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) 我想在Dockerfile中安装Kafka,下面是我的Dockerfile说明: #choose scala and kafka version ENV KAFKA_VERSION="0.8.2.1" SCALA_VERSION="2.11" #install kafka RUN cd /tmp &&a

基本环境:

[root@0b3608de9c84 tmp]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
我想在Dockerfile中安装Kafka,下面是我的Dockerfile说明:

#choose scala and kafka version
ENV KAFKA_VERSION="0.8.2.1" SCALA_VERSION="2.11"

#install kafka
RUN cd /tmp && wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_$SCALA_VERSION-$KAFKA_VERSION.tgz && tar xf kafka_${SCALA_VERSIO    N}-${KAFKA_VERSION}.tgz -C /opt && rm kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz
我知道
https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/KAFKA_$SCALA_VERSION-$KAFKA_VERSION.tgz
(或)不是真实的资源地址。您能帮助我使用wget和KAFKA网页上的URL正确安装KAFKA吗?

正如您所指出的,不是真实的地址。相反,它链接到一个靠近您所在位置的镜像站点,例如,我住在爱尔兰,因此
ftp.heanet.ie
是距离我所在位置最近的镜像

您应该(手动)在
wget
命令中使用相关镜像站点的URL,例如:

wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz
另一个问题是
tar
命令的shell变量中的空格:

tar xf kafka_${SCALA_VERSIO    N}-${KAFKA_VERSION}.tgz
结合上述修复程序,您将获得类似的功能:

RUN cd /tmp && wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/kafka/$KAFKA_VERSION/kafka_$SCALA_VERSION-$KAFKA_VERSION.tgz && tar xf kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz -C /opt && rm kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz

欢迎来到堆栈溢出!提问时,应始终包括您正在使用的确切命令及其错误消息和日志文件条目(如果适用)。否则,像我这样的回答者只是根据有限的信息进行猜测。看,非常感谢!这是我关于StackOverFlow的第一个问题,我的英语很差。我注意到地址
链接到一个镜像站点,该站点靠近您的位置
。为了找到真正的链接,我去了镜像页面并得到了它。没关系。我们试图帮助新用户(愿意学习的用户)更好地使用网站。如果我的答案对你有帮助的话,你最好把这个答案投上去。