commando
commando copied to clipboard
Can't install some tools that do exist in alpine packages
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
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.