如何在docker中安装缺失的libssl.so.1.1?

如何在docker中安装缺失的libssl.so.1.1?

有很多关于 libssl 的问题,但似乎没有人与我的问题相匹配,所以我提出了一个新问题。

我正在尝试在docker上部署我的python api项目,但是当我创建容器并运行它时,它自动退出了。通过执行docker logs container_id,它显示了这样的错误:libssl.so.1.1:无法打开共享对象文件:没有这样的文件或目录。

我知道这个问题会发生,因为当前的docker目录不包含这些文件。所以我尝试通过将其添加到dockerfile中来修复它:

RUN apt-get update && apt-get libssl-dev

但是当我再次尝试时,仍然出现相同的错误,似乎它没有安装,当我尝试时CMD find / -name libssl.so.1.1,我在日志中没有得到任何信息。

系统是 Ubuntu 22.04,我的完整dockerfile如下:

# syntax=docker/dockerfile:1

# Comments are provided throughout this file to help you get started.
# If you need more help, visit the Dockerfile reference guide at
# https://docs.docker.com/engine/reference/builder/

ARG PYTHON_VERSION=3.10
FROM python:${PYTHON_VERSION}-slim-buster as base

# Prevents Python from writing pyc files.
ENV PYTHONDONTWRITEBYTECODE=1

# Keeps Python from buffering stdout and stderr to avoid situations where
# the application crashes without emitting any logs due to buffering.
ENV PYTHONUNBUFFERED=1

# Copy the project into the container
COPY . /

# Install pipenv
RUN pip install pipenv

#
RUN pipenv run python3 -m pip install paddlepaddle-gpu==2.5.1.post102 -f https://www.paddlepaddle.org.cn/whl/linux/cudnnin/stable.html

# Install missing openssl dependencies
RUN apt-get update && apt-get libssl-dev
# Install dependencies
RUN pipenv install --verbose --pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple

# Expose the port that the application listen on
EXPOSE 5000

# Run the application
CMD find / -name libssl.so.1.1

除了上面列出的方法外,我没有做其他尝试来解决这个问题。

相关内容