commando icon indicating copy to clipboard operation
commando copied to clipboard

Can't install some tools that do exist in alpine packages

Open casidiablo opened this issue 4 years ago • 1 comments

e.g.:

docker run -it cmd.cat/httpie
Unable to find image 'cmd.cat/httpie:latest' locally
/nix/store/zbppgrbn7lsz51dkswmh1gdfrv52rjk9-docker-19.03.8/libexec/docker/docker: Error response from daemon: error parsing HTTP 400 response body: invalid character 'c' looking for beginning of value: "curl: (22) The requested URL returned error: 404 Not Found\nSending build context to Docker daemon  4.143kB\r\r\nStep 1/5 : FROM alpine AS release\n ---> f70734b6a266\nStep 2/5 : CMD [\"/bin/bash\"]\n ---> Using cache\n ---> 74e19f02b758\nStep 3/5 : RUN apk --no-cache add bash curl\n ---> Using cache\n ---> 2a1694a8929c\nStep 4/5 : COPY install.sh /\n ---> Using cache\n ---> 57d535599a7d\nStep 5/5 : RUN bash /install.sh httpie\n ---> Running in 351dda98de96\n\x1b[91mWARNING: Ignoring APKINDEX.70f61090.tar.gz: No such file or directory\nWARNING: Ignoring APKINDEX.ca2fea5b.tar.gz: No such file or directory\n\x1b[0mError: Nothing to install\nRemoving intermediate container 351dda98de96\nThe command '/bin/sh -c bash /install.sh httpie' returned a non-zero code: 1\n".
See '/nix/store/zbppgrbn7lsz51dkswmh1gdfrv52rjk9-docker-19.03.8/libexec/docker/docker run --help'.

From a running container:

docker run -it cmd.cat/curl/wget

bash-5.0# 
bash-5.0# bash /install.sh httpie
WARNING: Ignoring APKINDEX.70f61090.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.ca2fea5b.tar.gz: No such file or directory
Error: Nothing to install
bash-5.0# apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
v3.11.6-42-ge8abc3bd90 [http://dl-cdn.alpinelinux.org/alpine/v3.11/main]
v3.11.6-40-g4ab6ec338e [http://dl-cdn.alpinelinux.org/alpine/v3.11/community]
OK: 11270 distinct packages available
bash-5.0# bash /install.sh httpie
Error: Nothing to install

casidiablo avatar May 18 '20 23:05 casidiablo

According to pkgs.alpinelinux.org the http command exists in the "httpie" package from the "community" repo, for Alpine 3.11, which we seem to be using.

Curiously enough, docker run -it cmd.cat/http works, @casidiablo. (maybe there is meta-data in the package that tells the "apk" command about renaming / canonical package names? I'm not an expert on Alpine...)

In general, it would be nice to if the docs were a little bit more specific (or maybe it's there but I am unable to find it) about what versions and repos it is targeting, and how/when APKINDEX in the base layer is updated.

cbrunnkvist avatar Sep 02 '20 07:09 cbrunnkvist