我不知道为什么当我运行docker文件时这行返回1:
RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
我有wget安装,我不知道它为什么返回1(没有错误信息)
答案 0 :(得分:1)
不知道,但您不必使用一步安装速记,这可能会让您更好地了解命令失败的位置。
RUN set -uex; \
wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh; \
sh ./install.sh; \
rm ./install.sh
答案 1 :(得分:0)
我认为这是由于安装脚本的交互部分。
您应该先生成.zshrc
。
RUN apt-get install -y zsh
RUN git clone https://github.com/robbyrussell/oh-my-zsh \
<installation_path>/.oh-my-zsh
COPY conf/.zshrc <installation_path>/.zshrc
答案 2 :(得分:0)
运行以下命令以安装oh-my-zsh
时,该命令已成功安装oh-my-zsh并以代码1
退出。 (您可以运行echo $?
进行检查)。
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
echo $? #output 1
但是,docker build shell认为执行命令时不返回代码0是一个错误。要解决此问题,我们可以在install命令后附加一个零返回命令:
RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"; exit 0;