我已经这样做了:
RUN apt-get -y remove openssl
RUN DEBIAN_FRONTEND=noninteractive apt-get -q update && apt-get -qy install wget make\
&& wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz \
&& tar -xzvf openssl-1.0.2g.tar.gz \
&& cd openssl-1.0.2g \
&& ./config \
&& make install \
&& ln -sf /usr/local/ssl/bin/openssl 'which openssl'
Run Code Online (Sandbox Code Playgroud)
首先,我删除了旧的 openssl (在我的例子中为 1.0.1)并使用 openssl 1.0.2 进行了更新,但是在我构建映像并通过 bash 连接到它之后,在执行 opnessl version 命令时我仍然得到 1.0.1 版本
您既没有提供 Dockerfile,也没有提供启动容器的方式。这是一个有效的示例:
FROM ubuntu
RUN apt-get update
RUN apt-get -y remove openssl
RUN apt-get -y install gcc
RUN DEBIAN_FRONTEND=noninteractive apt-get -q update && apt-get -qy install wget make \
&& wget https://www.openssl.org/source/openssl-1.0.2g.tar.gz \
&& tar -xzvf openssl-1.0.2g.tar.gz \
&& cd openssl-1.0.2g \
&& ./config \
&& make install \
&& ln -sf /usr/local/ssl/bin/openssl 'which openssl'
Run Code Online (Sandbox Code Playgroud)
建筑:
docker build . -t openssl_test
Run Code Online (Sandbox Code Playgroud)
测试版本:
$ docker run -it openssl_test openssl version
OpenSSL 1.0.2g 1 Mar 2016
Run Code Online (Sandbox Code Playgroud)