我的Dockerfile包含:
FROM alpine
COPY script.sh /script.sh
CMD ["./script.sh"]
和script.sh
(具有可执行权限):
#!/bin/bash
echo "hello world from script file"
当我跑
时docker run --name testing fff0e5c81ca0
其中fff0e5c81ca0是构建后的id,我收到错误
standard_init_linux.go:195: exec user process caused "no such file or directory"
那我怎么解决呢?
答案 0 :(得分:3)
要在基于alpine的图像中运行bash脚本,您需要执行其中一个
安装bash
$ RUN apk add --update bash
在脚本中使用#!/bin/sh
而不是#!/bin/bash
您需要执行这两项中的任何一项或两项
或者,就像@ Maroun在comment中的回答一样,您可以更改您的CMD以执行您的bash脚本
CMD ["sh", "./script.sh"]
答案 1 :(得分:0)
您的Dockerfile可能如下所示:
FROM openjdk:8u171-jre-alpine3.8
COPY script.sh /script.sh
CMD ["sh", "./script.sh"]