Dockerfile:
FROM golang:latest
# COPY kube/command.sh .
RUN apt-get update
# To be able to do go run !(*_test).go
RUN apt-get install dnsutils -y
# CMD [ "shopt -s extglob" ]
CMD [ "sh command.sh" ]
# RUN bash -c shopt -s extglob
# RUN "sh command.sh"
还尝试使用脚本文件(command.sh):
#!/bin/sh
shopt -s extglob
RUN bash -c shopt -s extglob
构建Dockerfile我得到了这个:
bash: !: event not found
如果我运行容器并手动执行shopt -s extglob
:它可以正常工作。
你知道为什么吗?
答案 0 :(得分:1)
尝试这可能有所帮助:
FROM golang:latest
RUN apt-get update
# To be able to do go run !(*_test).go
RUN apt-get install dnsutils -y
# COPY kube/command.sh .
COPY commands.sh /scripts/commands.sh
RUN ["chmod", "+x", "/scripts/commands.sh"]
ENTRYPOINT ["/scripts/commands.sh"]