繁体   English   中英

通过 Ubuntu 的 apt-get 在 Dockerfile 中使用 apt-get 安装 python-pip

[英]Install python-pip using apt-get via Ubuntu's apt-get in Dockerfile

我正在浏览以下博客文章:

https://codefresh.io/docker-tutorial/hello-whale-getting-started-docker-flask/


这是该项目的 Github 存储库(由作者提供):

https://github.com/ChloeCodesThings/chloe_flask_docker_demo


Dockerfile:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]

将此项目克隆到运行 macOS Catalina (10.15.4) 的本地计算机后。

并运行以下命令(从 web 文件夹中):

docker build -t flask-hello:latest .

标准输出中的 Output:

Sending build context to Docker daemon  36.86kB
Step 1/8 : FROM ubuntu:latest
latest: Pulling from library/ubuntu
d51af753c3d3: Pull complete 
fc878cd0a91c: Pull complete 
6154df8ff988: Pull complete 
fee5db0ff82f: Pull complete 
Digest: sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7
Status: Downloaded newer image for ubuntu:latest
 ---> 1d622ef86b13
Step 2/8 : RUN apt-get update -y
 ---> Running in b85d892341c1
Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:3 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [3717 B]
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [106 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [35.3 kB]
Get:6 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [3190 B]
Get:7 http://archive.ubuntu.com/ubuntu focal-backports InRelease [89.2 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
Get:9 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
Get:11 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
Get:12 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [14.1 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [3190 B]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [42.7 kB]
Fetched 13.5 MB in 4s (3264 kB/s)
Reading package lists...
Removing intermediate container b85d892341c1
 ---> 3b5aa4c86a97
Step 3/8 : RUN apt-get install -y python-pip python-dev build-essential
 ---> Running in a9f9fdde1725
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package python-pip
The command '/bin/sh -c apt-get install -y python-pip python-dev build-essential' returned a non-zero code: 100

Docker版本:

Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:21:11 2020
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

为什么使用apt-get找不到 Ubuntu 的python-pip 任何建议都非常感谢!

我怀疑Dockerfile中的第一行尝试使用最新的 Ubuntu 版本20.04 ,它没有 ZEFE90A8E604A7C840E88D03A67F6B7。

更改为18.04版本,它将起作用:

FROM ubuntu:18.04
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]

检查这个

FROM python:3.8-slim-buster


ENV PYTHONDONTWRITEBYTECODE=1


ENV PYTHONUNBUFFERED=1


ADD requirements.txt .
RUN python -m pip install -r requirements.txt

WORKDIR /app
ADD . /app


RUN useradd appuser && chown -R appuser /app
USER appuser


CMD ["python", "-m", "app.py"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM