【发布时间】:2021-02-15 10:51:11
【问题描述】:
我在windwos10 中使用Docker 桌面。我有一个带有 2 个容器的 docker compose 文件(一个带有一个简单的 python 和一个 mysql),当为 python 应用程序运行 docker 文件(它是多阶段的)时它工作正常,但是当尝试从 docker compose 运行它时我得到一个 rpc 错误,我一直试图在官方 docker 论坛中找到解决方案(因为我已经学习 docker 仅 2 周),但在这里我发现它没有任何工作(我尝试为 docker 提供更多内存桌面,限制每个容器使用的内存量......)。这是我的 dockerfile:
version: "3.7"
services:
webapp:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
FLASK_ENV: development
FLASK_RUN_HOST: 0.0.0.0
mem_limit: 1GB
networks:
- app_network
mysql:
image: mysql:8.0.13
restart: always
ports:
- 3306:3306
command: --init-file ./init.sql
environment:
MYSQL_ROOT_USER: "root"
MYSQL_ROOT_PASSWORD: "admin"
MYSQL_USER: "user-flask"
MYSQL_PASSWORD: "password123"
mem_limit: 1GB
volumes:
- ./schemas:/var/lib/mysql:rw
networks:
- app_network
volumes:
schemas: {}
networks:
app_network:
name: app_net
driver: bridge
Dockerfile:
FROM python:3.8-alpine as builder
WORKDIR /code
COPY ./myapp/requirements.txt requirements.txt
RUN apk update \
&& apk add --virtual build-deps gcc python3-dev musl-dev \
&& apk add --no-cache mariadb-dev
RUN pip install --user -r requirements.txt
FROM python:3.8-alpine
WORKDIR /code
RUN apk add --no-cache mariadb-dev
COPY --from=builder /root/.local /root/.local
ADD ./myapp .
ENV PATH=/root/.local:$PATH
ENV FLASK_APP App.py
ENV FLASK_RUN_HOST 0.0.0.0
ENV FLASK_RUN_PORT 3000
CMD ["python", "-m", "flask", "run"]
这是我得到的输出错误:
#13 11.95 ERROR: unable to select packages:
#13 11.97 apk (no such package):
#13 11.97 required by: build-deps-20210215.104420[apk]
#13 11.97 add (no such package):
#13 11.97 required by: build-deps-20210215.104420[add]
------
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apk update && apk add --virtual build-deps gcc python3-dev musl-dev apk add --no-cache mariadb-dev]: exit code: 3
是否有人至少暗示了在哪里寻找?到目前为止,我发现的只是为 Docker 桌面提供更多资源并将资源限制在容器中,但这似乎不起作用。
【问题讨论】:
标签: docker docker-compose yaml dockerfile