I'm trying to download a specific Node version and copy the binary from the extracted tar.xz, but it doesn't look like ADD
actually extracts the file.
This is my Dockerfile:
FROM arm32v7/debian:stretch-slim
ENV nodever="v6.10.0"
ADD https://nodejs.org/dist/${nodever}/node-${nodever}-linux-armv7l.tar.xz /
COPY /node-${nodever}-linux-armv7l/bin/node /
RUN cat /etc/issue && \
\
apk update && \
apk add \
dnsmasq \
hostapd \
iptables
RUN mkdir app
ADD start.sh /app/start.sh
ADD server /app/server
ADD configs/hostapd.conf /etc/hostapd.conf
ADD configs/dnsmasq.conf /etc/dnsmasq.conf
WORKDIR /app
CMD ["/app/start.sh"]
but running docker -v build
yields this error:
Sending build context to Docker daemon 9.728kB
Step 1/12 : FROM arm32v7/debian:stretch-slim
---> 1510cdc40eca
Step 2/12 : ENV nodever "v6.10.0"
---> Using cache
---> 1ca3d2f72a3c
Step 3/12 : ADD https://nodejs.org/dist/${nodever}/node-${nodever}-linux-armv7l.tar.xz /
Downloading 8.34MB/8.34MB
---> a1fefb9bda66
Step 4/12 : COPY /node-${nodever}-linux-armv7l/bin/node /
COPY failed: stat /var/lib/docker/tmp/docker-builder233292954/node-v6.10.0-linux-armv7l/bin/node: no such file or directory
I've tried running RUN ls /
which shows that it has downloaded the archive but it isn't extracted.
This is documented:
If is a local tar archive in a recognized compression format (identity, gzip, bzip2 or xz) then it is unpacked as a directory.
Notice the emphasis on "local".
This was actually changed and reverted at some point, so it's unlikely this will ever change again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With