我有一个使用perl的dockerfile:5.22作为基本图像当我这样做时:
#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
我明白了:
步骤2/3:运行apt-cache策略libssl1.0.0 && apt-cache policy libssl-dev --->在a60f0185ef5a中运行libssl1.0.0:已安装:(无)候选:(无)版本表:libssl-dev:已安装:1.1.0f-3 deb9u2候选:1.1.0f-3 deb9u2版本表:*** 1.1.0f-3 deb9u2 500 500 http://security.debian.org/debian-security stretch / updates / main amd64软件包100 / var / lib / dpkg / status 1.1.0f-3 deb9u1 500 500 http://deb.debian.org/debian stretch / main amd64软件包
没有可用的候选人来安装 libssl1.0.0 ;我明白了:
E:包“libssl1.0.0”没有安装候选者
但是有一个候选者可以安装 libssl-dev 包,但没有 libssl1.0.0
我是码头 Worker 的新手; does the perl 5.22 base image already come with libssl1.0.0 already preinstalled in the image? 我在他们的基本图像中看不到它,其次, how do I install this package (libssl1.0.0)
**** in my dockerfile if there's no candidate available to install it ?
最后,由于基本映像已经预先安装了libssl-dev,我可以使用这个包 libssl-dev 而不是libssl1.0.0, is there a difference between libssl-dev and libssl1.0.0 吗?
1 回答
实际上,它已经默认安装 .
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
给出:至于你可以使用1.1.0而不是1.0.0,这实际上取决于你的软件的要求 .