我试图从https://docs.docker.com/compose/gettingstarted/建立码头形象的例子。我得到了这个错误
Building web
Step 1/9 : FROM python:3.7-alpine
---> e854017db514
Step 2/9 : WORKDIR /code
---> Using cache
---> e15b6e62d8af
Step 3/9 : ENV FLASK_APP app.py
---> Using cache
---> 759c4bc8b254
Step 4/9 : ENV FLASK_RUN_HOST 0.0.0.0
---> Using cache
---> 6d40793f3089
Step 5/9 : RUN apk add --no-cache gcc musl-dev linux-headers
---> Running in 5e40bd670f1b
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
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz: Permission denied
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz: Permission denied
ERROR: unsatisfiable constraints:
gcc (missing):
required by: world[gcc]
linux-headers (missing):
required by: world[linux-headers]
musl-dev (missing):
required by: world[musl-dev]
ERROR: Service 'web' failed to build: The command '/bin/sh -c apk add --no-cache gcc musl-dev linux-headers' returned a non-zero code: 3这是我的文件
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]你能帮我解决这个错误吗?谢谢大家!
发布于 2020-07-23 19:08:51
要安装的包是否移动到另一个注册表?
有时,正在安装的包从不同的注册表分支中移动。默认的Docker阿尔卑斯映像只设置了某些注册表。添加其他注册中心可以扩展您的安装选项(YMMV);我不能谈论与不同注册表分支相关联的稳定性、安全性和风险。这条线帮了我。
失败的尝试和错误消息:
❯ docker run -it alpine sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
v3.12.0-175-g8b3334c57c [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]
v3.12.0-178-gb27c83e867 [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]
OK: 12749 distinct packages available
/ # apk add cowsay
ERROR: unsatisfiable constraints:
cowsay (missing):
required by: world[cowsay]
/ # ERROR: unsatisfiable constraints:
cowsay (missing):
required by: world[cowsay]在日志的前面
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz溶化
package <package name>我使用的是哪种类型的内存?
在包的页面上选择适当的链接。所以就我而言:
阅读该页面上的信息,我看到在下载下,该包的二进制位于
http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/cowsay-3.04-r0.apk与线索2相比,我发现高寒容器并没有用我想要安装的二进制文件引用注册表。
成功& TL;DR;
通过向停靠高寒容器添加附加注册表,将以前未找到的包添加到阿尔卑斯。
我将添加注册表,以找到要安装的包(步骤3)。在下面的代码块中,可以看到第三个注册表与第3部分中的URL的初始部分相匹配。我不想替换现有的注册中心(线索2),所以我再次设置了这些注册中心。我不知道这是否有必要,但我还是做了。
$ docker run -it alpine sh
/# apk update && apk add cowsay \
--update-cache \
--repository https://alpine.global.ssl.fastly.net/alpine/edge/community \
--repository https://alpine.global.ssl.fastly.net/alpine/edge/main \
--repository https://dl-3.alpinelinux.org/alpine/edge/testing
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
v3.12.0-175-g8b3334c57c [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]
v3.12.0-178-gb27c83e867 [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]
OK: 12749 distinct packages available
fetch https://dl-3.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
fetch https://alpine.global.ssl.fastly.net/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch https://alpine.global.ssl.fastly.net/alpine/edge/community/x86_64/APKINDEX.tar.gz
(1/3) Installing libbz2 (1.0.8-r1)
(2/3) Installing perl (5.30.3-r2)
(3/3) Installing cowsay (3.04-r0)
Executing busybox-1.31.1-r16.trigger
OK: 43 MiB in 17 packages
/ #Dockerfile示例
FROM alpine
RUN apk update && apk add cowsay \
--update-cache \
--repository https://alpine.global.ssl.fastly.net/alpine/edge/community \
--repository https://alpine.global.ssl.fastly.net/alpine/edge/main \
--repository https://dl-3.alpinelinux.org/alpine/edge/testing
CMD ["cowsay", "hi stackoverflow"]生成此文件后:
❯ docker run cowsay [13:13:45]
__________________
< hi stackoverflow >
------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||https://stackoverflow.com/questions/61968808
复制相似问题