我有一个基本上运行一次性脚本的 docker Image。该脚本需要 3 个参数。我的码头文件是
FROM <some image>
ARG URL
ARG USER
ARG PASSWORD
RUN apt update && apt install curl -y
COPY register.sh .
RUN chmod u+x register.sh
CMD ["sh", "-c", "./register.sh $URL $USER $PASSWORD"]
当我使用它启动 contianer 时,docker run -e URL=someUrl -e USER=someUser -e PASSWORD=somePassword -itd <IMAGE_ID>
它工作得非常好。
现在我想将其部署为一项工作。
我的基本工作如下:
apiVersion: batch/v1
kind: Job
metadata:
name: register
spec:
template:
spec:
containers:
- name: register
image: registeration:1.0
args: ["someUrl", "someUser", "somePassword"]
restartPolicy: Never
backoffLimit: 4
但是这个 pod 错误了
Error: failed to start container "register": Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"someUrl\": executable file not found in $PATH"
看起来它正在将我的 args 作为命令并尝试执行它们。那是对的吗 ?我能做些什么来解决这个问题?