最近在使用docker 使用alpine镜像遇到一个问题,当运行一个shell脚本时报错
exec user process caused "exec format error"
找了很多资料,最后找到原因如下:
alpine 默认是没有安装/bin/bash的,所以我们执行shell脚本时,会找不到相应的bash运行脚本,解决方法如下:
1、使用别的镜像:如ubuntu,centos,但是这样存在一个问题,镜像会比较大
2、构建一个自己的镜像,后续基于镜像即可:具体dockerfile内容如下:
FROM alpine:latest
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
bash-doc \
bash-completion \
&& rm -rf /var/cache/apk/* \
&& /bin/bash
网友评论