当前位置: 首页 > 知识库问答 >
问题:

Perl的Docker基映像;E:包“libssl1.0.0”没有安装候选项

曹自怡
2023-03-14

我有一个使用Perl:5.22作为基映像的dockerfile:

#Dockerfile:

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

当我在dockerfile中执行: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

但是,libssl-dev包有一个候选安装程序,但libssl1.0.0没有候选安装程序

我是Docker的新手;perl 5.22基础映像是否已经与libssl1.0.0一起预装在映像中?我在他们的基本图像中看不到它,其次,*如果没有候选文件可以安装这个包,我如何在我的dockerfile中安装这个包(libssl1.0.0)*?

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

共有1个答案

慕佑运
2023-03-14

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

$ 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映像基于不再支持libssl1.0.0的debian:stretch。您可以从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

如果您可以使用1.1.0而不是1.0.0,这实际上取决于您的软件需求。

 类似资料:
  • 基于以上讨论,我需要安装。我把它安装在Dockerfile中,但仍然是相同的错误。我该怎么办?

  • 问题内容: 我是Docker的新手,所以我尝试使用laravel项目了解更多有关Docker的信息,并按照以下教程进行操作: https://www.digitalocean.com/community/tutorials/how-to-set-up-laravel-nginx- and-mysql-with-docker- compose?comment=77842 我已经根据教程内容对Dock

  • 问题内容: 在何时,或选择与有用? 对于某些项目,requirements.txt中的最后一行是。它到底是做什么的? 问题答案: 如手册页所述: 因此,当您尝试在本地安装软件包时,通常会在系统上进行开发时使用此软件包。它将链接软件包到原始位置,基本上意味着对原始软件包的任何更改都将直接反映在您的环境中。 这里和这里的一些掘金都一样。 关于什么:: 例如, / srv / pkg是可在其中找到“ s

  • 什么时候或选项对有用? 对于某些项目,requirements.txt中的最后一行是。它到底做什么?

  • 这是我第一次尝试创建Docker形象,我希望有人能帮助我。我的Dockerfile大致如下所示: 基本上,我只是为了扩展jar文件而安装Java。运行makefile时,出现以下错误: /bin/sh:1:/usr/lib/jvm/java-7-openjdk-amd64:权限被拒绝 我一直试图效仿这个例子:https://registry.hub.docker.com/u/barnybug/op

  • 问题内容: 我在Docker上安装了Ubuntu 14.04映像。之后,当我尝试在ubuntu映像中安装软件包时,我无法找到软件包错误: 如何解决这个错误? 问题答案: 这是因为映像中没有包缓存,因此需要运行: 在安装软件包之前,并且如果您的命令在Dockerfile中,则需要: 要取消命令的标准输出,请使用。例如