Eug*_*ene 11 docker dockerfile docker-compose
我是docker新手,第一次遇到这样的错误。
这是我的 DockerFile
FROM rust:latest as builder
ENV APP mapservice
WORKDIR /usr/src/$APP
COPY . .
RUN cargo install --path .
FROM debian:buster-slim
RUN apt-get update && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/local/cargo/bin/$APP /usr/local/bin/$APP
#export this actix web service to port 8080 and 0.0.0.0
EXPOSE 8080
CMD ["mapservice"]
Run Code Online (Sandbox Code Playgroud)
当我跑步时
docker run -it --rm -p 8080:8080 mapservice
Run Code Online (Sandbox Code Playgroud)
我收到如下错误:
mapservice: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
我不知道为什么会出现这个错误。也许我的 APIKEY 硬编码在 main.rs 中?有人知道如何解决这个问题吗?我的笔记本电脑是 M1pro Mac。
我尝试使用类似的 dockerfile 运行另一个示例项目,一切都很好。我还尝试将其部署在 AWS 上,这又给我带来了 8080 上的另一个运行状况检查错误。是不是我的 docker 文件有问题?
此错误是因为您已将构建的可执行文件复制到尚未libssl.so.1.1安装的新基础映像。要修复,您需要在之前安装依赖项CMD步骤之前通过软件包安装来安装依赖项。
解决此问题的一种方法是通过在步骤之前openssl添加来安装包。您还可以深入安装 libssl 库本身,更多信息请参见: https: //packages.debian.org/buster/libssl-dev。还有其他软件包也会安装此依赖项。最终选择安装的包将取决于您的用例。RUN apt-get update && apt install -y opensslCMD
| 归档时间: |
|
| 查看次数: |
13914 次 |
| 最近记录: |