大佬教程收集整理的这篇文章主要介绍了无法让 docker 容器在构建中运行,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法让 docker 容器在构建中运行。我的包是 Django+POSTGResql+Docker。我正在尝试运行命令:“docker-compose build”,但出现此错误:
[3/6] RUN apk update && apk add POSTGResql-dev gcc python3-dev musl-dev:
#6 0.262 /bin/sh: 1: apk: not found
你能告诉我我做错了什么吗? 我的 docker 文件:
# pull official base image
FROM python:3.8.8
# set work directory
workdir /app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install psycopg2 dependencIEs
RUN apk update \
&& apk add POSTGResql-dev gcc python3-dev musl-dev
# install dependencIEs
RUN pip3 install --upgrade pip
copY ./requirements.txt .
RUN pip3 install -r requirements.txt
# running scripts
ENTRYPOINT ./runserver
我的 docker-compose 文件:
version: '3.7'
services:
web:
build: ./web
volumes:
- ./web/:/app
ports:
- 8000:8000
env_file:
- ./web/.env.dev
db:
image: POSTGRes:12.0-alpine
volumes:
- POSTGRes_data:/var/lib/POSTGResql/data/
environment:
- POSTGRES_USER=POSTGRes
- POSTGRES_password=shIEvtsovm2001
- POSTGRES_DB=TSKHABD
volumes:
POSTGRes_data:
由于 python:3.8.8
基于 "Debian GNU/Linux 10 (buster) 操作系统,所以 apk
命令不起作用,apk
是包管理器Alpine Linux。
您可以简单地通过以下方式检查:
docker run -d --rm --name python python:3.8.8 tail -f /dev/null
那么:
docker exec -it python cat /etc/*release
因此您应该将 apk
更改为 apt-get
:
RUN apt-get update \
&& apt-get install -y POSTGResql POSTGResql-contrib gcc python3-dev musl-dev
还要检查这些软件包是否存在于 Debian 的存储库中,以防止未找到错误。
以上是大佬教程为你收集整理的无法让 docker 容器在构建中运行全部内容,希望文章能够帮你解决无法让 docker 容器在构建中运行所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。