我有一个使用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-dev
和libssl1.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映像基于不再支持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中,则需要: 要取消命令的标准输出,请使用。例如