docker - 错误:服务“web”构建失败:命令“/bin/sh -c apk add --no-cache gcc musl-dev linux-headers”返回非零代码:3
问题描述
我只是按照docker-compose官方文档的demo
虚拟机:VMware Workstation 15 Player 操作系统:Centos7
码头工人-compose.yml
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
Dockerfile:
ROM 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"]
运行推荐:
docker-compose up
日志和错误消息
Building web
Step 1/9 : FROM python:3.7-alpine
---> 7fbc871584eb
Step 2/9 : WORKDIR /code
---> Using cache
---> c20780a4b2d4
Step 3/9 : ENV FLASK_APP app.py
---> Using cache
---> 973cc407ca91
Step 4/9 : ENV FLASK_RUN_HOST 0.0.0.0
---> Using cache
---> 23891144700d
Step 5/9 : RUN apk add --no-cache gcc musl-dev linux-headers
---> [Warning] IPv4 forwarding is disabled. Networking will not work.
---> Running in 7b29f4df9539
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: temporary error (try again later)
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
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
谁能帮我?
解决方案
您收到错误的根本原因是 Docker 映像上未安装(安装失败)GCC。确保您有互联网连接来安装这些库。
从您收到的警告中
---> [Warning] IPv4 forwarding is disabled. Networking will not work.
似乎 Docker 容器没有互联网连接,您必须IPv4 forwarding
使用以下命令启用
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
sysctl -p /etc/sysctl.conf
更多信息可以在这里找到
推荐阅读
- python - 使用 scipy.integrate.quad 执行 3D 积分
- nanomsg - Nnanomsg 总线路由支持?
- variables - TYPO3:从内联元素中获取流体中的值
- c++ - c++ 二元运算符警告
- ms-access - Microsoft Access - 记录表单加载
- neural-network - 共指消解训练语料库
- selenium - 如何通过 Selenium 识别特定的 Page Object 片段成员元素
- powershell - 如何在给定用户名的情况下获取文件所有者的显示全名(Powershell)
- java - 是否可以在不遵循继承链的 Java 类中提供 @AfterXXX TestNG 注释?
- boost - 在构建 Field3D 时,如何确定链接到 Boost 线程组件的静态库的位置?