我只是遵循docker-compose官方文档的演示。
虚拟机: VMware工作站15播放器操作系统: Centos7
docker-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"]运行commend:
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有谁能帮帮我呢?
发布于 2020-04-14 17:47:05
出现这个错误的根本原因是docker镜像上没有安装(安装失败) GCC。确保您有internet连接才能安装这些库。
从你收到的警告中
---> [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欲了解更多信息,请访问here。
发布于 2020-10-01 17:40:30
我在fedora上部分地使用博客解决了这个问题,博客来自:https://fedoramagazine.org/docker-and-fedora-32/
启用旧CGroups:
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"防火墙中的白名单docker:
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
sudo firewall-cmd --permanent --zone=FedoraWorkstation --add-masquerade为docket-composer安装依赖项:
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-clientsudo reboothttps://stackoverflow.com/questions/61203985
复制相似问题