应用程序打包docker记录 exec format error

写一个Dockerfile

内容如下

FROM ubuntu:18.04

RUN mkdir -p /data/apps
RUN export LD_LIBRARY_PATH=/data/apps:$LD_LIBRARY_PATH

COPY ./redump /data/apps
COPY ./ffmpeg /data/apps
COPY ./libzlog.so.1.2 /data/apps
COPY ./runapp.sh /data/apps
COPY ./config.json /data/apps
COPY ./zlog.conf /data/apps

WORKDIR /data/apps

#RUN apt update \
#    && apt-get install -y vim

CMD ["./runapp.sh"]

runapp.sh脚本内容如下

#!/bin/bash
export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH
./redump

最开始没有最上面的 #!/bin/bash  运行的时候提示 exec format error 加上这句就好了 

打包命令

docker build -t catvideo.tar .

打tag

docker tag catvideo.tar:latest catvideo.tar:1.02

保存

docker save catvideo.tar:1.02 -o catvideo.tar

之后 把这个catvideo.tar镜像上传就可以了

### 回答1: 这个错误通常出现在尝试在不兼容的操作系统上运行Docker容器时。可能是容器镜像是为不同的处理器架构而构建的,因此无法运行在当前操作系统上。也可能是容器镜像中的某些文件已经损坏或被意外更改,导致无法运行容器。 ### 回答2: Docker是一款虚拟化平台,为用户提供了快速创建、部署和管理容器的功能。然而,在使用Docker过程中,用户有时会遇到"exec format error"的错误提示。 出现"exec format error"错误的原因可能有多种,其中最常见的是操作系统所使用的镜像格式与容器中的设置不匹配所致。通常情况下,这是由于在创建容器时,用户选择的镜像和操作系统所使用的镜像格式不兼容所导致的。 要解决这个问题,需要确认选择的镜像能够与系统和容器设置相匹配。另外,也可以尝试更新Docker版本或使用其他的容器平台,例如Kubernetes。 除了镜像格式不匹配之外,还有一些其他可能导致"exec format error"错误的原因。这些原因包括: 1. 容器中容纳的二进制文件与操作系统之间不兼容; 2. 二进制文件损坏或缺失; 3. 后台容器占用了所需的文件描述符。 此外,在使用Docker时还需要注意避免以下问题: 1. 避免部署过期的和不支持的Docker版本; 2. 确认容器能够与所选镜像版本兼容; 3. 避免使用不明确的容器设置。 总的来说,如果出现"exec format error"的错误提示,用户首先需要检查所选镜像与系统和容器设置是否相兼。如果还无法解决问题,可以尝试修复或更新Docker版本,或转向其他的容器平台。 ### 回答3: Docker Exec Format Error是一种错误提示,通常在调用Docker容器时出现。这个错误提示意味着,Docker守护进程无法识别容器中的可执行文件。这通常是由于容器镜像中的可执行文件的格式与宿主机不兼容导致。 在实际应用中,这种错误提示可能发生在容器尝试运行二进制文件时。例如,如果一个Python脚本被打包Docker镜像,但在容器中运行时出现“docker exec format error”错误提示,那么很可能是因为容器中的Python可执行文件版本与宿主机不兼容导致的。 这种错误提示的解决方法取决于具体的应用场景,但通常我们可以采用以下一些方法来处理: 1. 确认宿主机的硬件和软件环境与Docker容器镜像中的所需环境一致。如果出现了版本不兼容的情况,需要升级或降级软件。 2. 重新构建Docker镜像,以确保镜像中所包含的可执行文件与宿主机的操作系统和硬件环境兼容。 3. 检查Docker容器是否已正确启动。如果Docker容器未正确启动,可能会导致“docker exec format error”错误提示。 4. 检查Docker容器中的可执行文件是否有正确的权限、路径和文件格式。如果可执行文件没有正确的权限、路径或文件格式,可能会引发“docker exec format error”错误提示。 总之,解决“docker exec format error”错误提示需要进行更加具体的调查和分析,而具体的解决方法取决于具体的应用环境和应用场景。在遇到这类问题时,最好参考Docker官方文档,或寻求Docker官方技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QMCY_jason

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值