程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了无法让 docker 容器在构建中运行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决无法让 docker 容器在构建中运行?

开发过程中遇到无法让 docker 容器在构建中运行的问题如何解决?下面主要结合日常开发的经验,给出你关于无法让 docker 容器在构建中运行的解决方法建议,希望对你解决无法让 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,请注明来意。