Docker perl 的基本映像; E: 包 'libssl1.0.0' 没有安装候选

Docker base image for perl; E: Package 'libssl1.0.0' has no installation candidate

我有一个使用 perl:5.22 作为基础图像的 docker 文件 当我这样做时:

#Dockerfile:

From perl:5.22
RUN apt-get update && apt-get install libssl1.0.0 libssl-dev

我收到这个错误: 当我这样做时: docker 文件中的 sudo apt-cache policy libssl1.0.0,像这样:

#Dockerfile:

From perl:5.22
RUN apt-cache policy libssl1.0.0 && \
    apt-cache policy libssl-dev
RUN apt-get update && apt-get install libssl1.0.0

我得到:

Step 2/3 : RUN apt-cache policy libssl1.0.0 && apt-cache policy libssl-dev ---> Running in a60f0185ef5a libssl1.0.0:
Installed: (none) Candidate: (none)
Version table: libssl-dev:
Installed: 1.1.0f-3+deb9u2
Candidate: 1.1.0f-3+deb9u2
Version table:
*** 1.1.0f-3+deb9u2 500 500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages 100 /var/lib/dpkg/status 1.1.0f-3+deb9u1 500 500 http://deb.debian.org/debian stretch/main amd64 Packages

没有可供安装的候选项libssl1.0.0;我得到:

E: Package 'libssl1.0.0' has no installation candidate

但是有一个候选人要安装 libssl-dev 软件包,但是 none 用于 libssl1.0.0

我是 docker 的新手; the perl 5.22 base image 是否已经在映像中预装了 libssl1.0.0? 我在他们的基本映像中看不到它,其次, *如果没有候选者,我如何在我的 docker 文件中安装这个包 (libssl1.0.0)可以安装*?

最后,由于基础镜像已经预装了 libssl-dev,我可以使用这个包吗,libssl-dev ,而不是 libssl1.0.0, libssl-devlibssl1.0.0 之间有区别吗?

实际上,它已经默认安装了。

$ docker run -it perl:5.22 /bin/bash
root@e5315bc25223:~# apt search libssl
Sorting... Done
Full Text Search... Done
libssl-dev/now 1.1.0f-3+deb9u2 amd64 [installed,local]
  Secure Sockets Layer toolkit - development files

libssl1.0.0/now 1.0.1t-1+deb8u8 amd64 [installed,local]
  Secure Sockets Layer toolkit - shared libraries

perl镜像基于debian:stretch,不再支持libssl1.0.0。您可以从 jessie (https://packages.debian.org/jessie/libssl1.0.0) 中提取软件包并使用 dpkg.

安装

示例 Dockerfile 添加:

RUN wget "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u8_amd64.deb" \
    && dpkg -i libssl1.0.0_1.0.1t-1+deb8u8_amd64.deb

关于版本,apt show libssl-dev给出:

Package: libssl-dev

Version: 1.1.0f-3+deb9u2

至于是否可以使用 1.1.0 而不是 1.0.0,这实际上取决于您的软件要求。