Python

退出狀態為 100 的 Podman 建構文件

  • April 9, 2021

我正在嘗試建構一個簡單的 podman 容器,但它以退出狀態 100 失敗:

命令(不以 root 身份執行!): podman build --tag testscript -f ./script/Dockerfile

Dockerfile:

FROM python:3.8-slim-buster
WORKDIR /usr/src/app
COPY requirements.txt /requirements.txt
RUN apt update 
RUN apt install -y --no-install-recommends gcc
RUN apt install -y --no-install-recommends python3-dev
RUN apt install -y --no-install-recommends postgresql-dev
RUN pip install -r requirements.txt
COPY . .
CMD [ "python", "./script.py" ]

輸出:

STEP 1: FROM python:3.8-slim-buster
STEP 2: WORKDIR /usr/src/app
--> Using cache 91647f078e8ea27aff5b76a287efb3e937fa52f29380701eb9a831b610ad2b1a
--> 91647f078e8
STEP 3: COPY requirements.txt /requirements.txt
--> Using cache e308b391443ccb8ca4aaeb0155aba78178f016fcab67e61b24759ffac5e4cba6
--> e308b391443
STEP 4: RUN apt update 
--> Using cache 3902ef243d0d124c413f2b76a65dcec2c5d7ef0bcb7a0ab0ef78adab6ed0ed25
--> 3902ef243d0
STEP 5: RUN apt install -y --no-install-recommends gcc
Error: error building at STEP "RUN apt install -y --no-install-recommends gcc": error while running runtime: exit status 100

我嘗試在互動式容器中一個一個地執行命令(從同一個基礎開始)並且它們完美地工作。我只是無法建構圖像。主機系統是 Debian 10。Podman 完全按照 Podman 的文件安裝。

$ podman -v
podman version 3.0.1

完整的調試輸出:https ://gist.github.com/bertmelis/29547341cd4c916fcf470477cfe8d1e9

通過使用基礎映像FROM python:3.8-slim-buster,顧名思義,您使用的是 Python 3.8

但是,Debian Buster 安裝 Python 3.7 因為python3-dev選擇了包。python3.8-dev不可用。不詳述,這可能會導致一些衝突。

解決方案是使用基礎鏡像FROM python:3.7-slim-buster

引用自:https://unix.stackexchange.com/questions/644170