我有一个使用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
我明白了:
步骤2/3:运行apt-cache策略libssl1.0.0&& apt-cache策略 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
没有
我是Docker的新手; the perl 5.22 base image已经预先在图片中预装了libssl1.0.0吗? 我在基本图片中看不到它,其次, *如何如果没有可供安装的候选人,我可以在我的dockerfile中安装此软件包 (libssl1.0.0)
最后,由于已经预先安装了libssl-dev的基本映像,我可以使用此程序包 libssl-dev
,而不是libssl1.0.0, libssl-dev
和libssl1.0.0
之间存在差异吗?
答案 0 :(得分:2)
实际上,它已默认安装。
ArrayList<ArrayList<String>> stylistIDArray;
ArrayList<ArrayList<String>> durationArray;
stylistIDArray = differentGenderServicesAdapter.getSelectedStylistIdArray();
durationArray = differentGenderServicesAdapter.getSelectedDurArray();
ArrayList<String>stylistId = new ArrayList<>();
ArrayList<String>duration = new ArrayList<>();
for(int i=0; i<stylistIDArray.size(); i++) {
stylistId = stylistIDArray.get(i);
duration = durationArray.get(i);
}
perl图像基于debian:stretch,不再支持libssl1.0.0。您可以从jessie(https://packages.debian.org/jessie/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
进行安装。
示例Dockerfile添加:
dpkg
关于版本,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
给出:
包:libssl-dev
版本:1.1.0f-3 + deb9u2
如果您可以使用1.1.0而不是1.0.0,那实际上取决于您的软件要求。