hug*_*ech 2 docker dockerfile alpine-linux alpine-package-keeper
我正在尝试从https://docs.docker.com/compose/gettingstarted/构建 docker 映像示例。我收到了这个错误
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
Run Code Online (Sandbox Code Playgroud)
这是我的 Dockfile
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"]
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个错误吗?谢谢大家!!!
有时,正在安装的软件包是从不同的注册表分支移动的。默认的 Docker Alpine 镜像仅设置了某些注册表。添加额外的注册表可以扩展您的安装选项 (YMMV);我无法谈论与不同注册表分支相关的稳定性、安全性和/或风险。这个线程帮助了我。
\n\xe2\x9d\xaf docker run -it alpine sh \n/ # apk update\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz\nv3.12.0-175-g8b3334c57c [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]\nv3.12.0-178-gb27c83e867 [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]\nOK: 12749 distinct packages available\n/ # apk add cowsay\nERROR: unsatisfiable constraints:\n cowsay (missing):\n required by: world[cowsay]\n/ # \n\nRun Code Online (Sandbox Code Playgroud)\nERROR: unsatisfiable constraints:\n cowsay (missing):\n required by: world[cowsay]\nRun Code Online (Sandbox Code Playgroud)\n日志中较早的部分
\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz\nRun Code Online (Sandbox Code Playgroud)\npackage <package name>我使用哪种类型的内存?
\n在包页面上选择正确的链接。所以就我而言:
\n阅读该页面上的信息,我在下载二进制文件下看到目前位于
\nhttp://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/cowsay-3.04-r0.apk将此与线索 #2 进行比较,我发现 alpine 容器没有使用我想要安装的二进制文件引用注册表。
\n通过向 docker alpine 容器添加额外的注册表,将以前未找到的包添加到 alpine。
\n我将添加查找我想要安装的软件包所需的注册表(步骤#3)。在下面的代码块中,可以看到第三个注册表与第 3 部分中完成的研究中的 URL 的初始部分相匹配。我不想替换现有的注册表(线索#2),所以我再次设置了它们。我不知道这是否有必要,但我还是这么做了。
\nERROR: unsatisfiable constraints:\n cowsay (missing):\n required by: world[cowsay]\nRun Code Online (Sandbox Code Playgroud)\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz\nRun Code Online (Sandbox Code Playgroud)\n构建此文件后:
\n$ docker run -it alpine sh\n/# apk update && apk add cowsay \\\n --update-cache \\\n --repository https://alpine.global.ssl.fastly.net/alpine/edge/community \\\n --repository https://alpine.global.ssl.fastly.net/alpine/edge/main \\\n --repository https://dl-3.alpinelinux.org/alpine/edge/testing\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz\nfetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz\nv3.12.0-175-g8b3334c57c [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]\nv3.12.0-178-gb27c83e867 [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]\nOK: 12749 distinct packages available\nfetch https://dl-3.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz\nfetch https://alpine.global.ssl.fastly.net/alpine/edge/main/x86_64/APKINDEX.tar.gz\nfetch https://alpine.global.ssl.fastly.net/alpine/edge/community/x86_64/APKINDEX.tar.gz\n(1/3) Installing libbz2 (1.0.8-r1)\n(2/3) Installing perl (5.30.3-r2)\n(3/3) Installing cowsay (3.04-r0)\nExecuting busybox-1.31.1-r16.trigger\nOK: 43 MiB in 17 packages\n/ #\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
12262 次 |
| 最近记录: |