首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:未能构建服务'web‘:命令'/bin/sh -c apk add --no-cache gcc musl-dev linux-headers’返回非零代码:3

错误:未能构建服务'web‘:命令'/bin/sh -c apk add --no-cache gcc musl-dev linux-headers’返回非零代码:3
EN

Stack Overflow用户
提问于 2020-04-14 16:56:29
回答 2查看 1.7K关注 0票数 1

我只是遵循docker-compose官方文档的演示。

虚拟机: VMware工作站15播放器操作系统: Centos7

docker-compose.yml

代码语言:javascript
复制
version: '3'
 services:
   web:
       build: .
       ports:
        - "5000:5000"
   redis:
       image: "redis:alpine"

Dockerfile:

代码语言:javascript
复制
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"]

运行commend:

代码语言:javascript
复制
docker-compose up

日志和错误消息

代码语言:javascript
复制
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

有谁能帮帮我呢?

EN

回答 2

Stack Overflow用户

发布于 2020-04-14 17:47:05

出现这个错误的根本原因是docker镜像上没有安装(安装失败) GCC。确保您有internet连接才能安装这些库。

从你收到的警告中

代码语言:javascript
复制
---> [Warning] IPv4 forwarding is disabled. Networking will not work.

Docker容器似乎没有互联网连接,您必须使用以下命令启用IPv4 forwarding

代码语言:javascript
复制
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
sysctl -p /etc/sysctl.conf

欲了解更多信息,请访问here

票数 1
EN

Stack Overflow用户

发布于 2020-10-01 17:40:30

我在fedora上部分地使用博客解决了这个问题,博客来自:https://fedoramagazine.org/docker-and-fedora-32/

启用旧CGroups:

代码语言:javascript
复制
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"

防火墙中的白名单docker:

代码语言:javascript
复制
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
sudo firewall-cmd --permanent --zone=FedoraWorkstation --add-masquerade

为docket-composer安装依赖项:

代码语言:javascript
复制
sudo dnf install python3-attrs python3-bcrypt python3-cached_property python3-docker python3-docker-pycreds python3-dockerpty python3-docopt python3-fluidity-sm python3-invoke python3-jsonschema python3-lexicon python3-paramiko python3-pyasn1 python3-pynacl python3-pyrsistent python3-texttable python3-websocket-client
代码语言:javascript
复制
sudo reboot
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61203985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档