哦我的Zsh安装在docker中失败了

时间:2017-02-16 00:52:22

标签: docker zsh dockerfile oh-my-zsh

我不知道为什么当我运行docker文件时这行返回1:

RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

我有wget安装,我不知道它为什么返回1(没有错误信息)

3 个答案:

答案 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;