无法在 ubuntu docker 映像上将 openssl 更新到 1.0.2

Ale*_*cus 0 ubuntu docker

我已经这样做了:

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 版本

nai*_*jon 5

您既没有提供 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)