哦,我的 Zsh 在 docker 中安装失败
Oh My Zsh install in docker fail
我不知道为什么这一行 return 1 当我 运行 它是一个 docker 文件时:
RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
我已经安装了 wget,但我不知道为什么它是 return 1(没有错误消息)
不知道,但您不必使用一步安装 shorthand,这可能会让您更好地了解命令在哪里失败。
RUN set -uex; \
wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh; \
sh ./install.sh; \
rm ./install.sh
我认为这是安装脚本的交互部分造成的。
你之前应该生成.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
当您 运行 使用以下命令安装 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 构建 shell 认为执行命令时没有返回代码 0 是错误的。为了解决这个问题,我们可以在 install 命令后附加一个返回零的命令:
RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"; exit 0;
我不知道为什么这一行 return 1 当我 运行 它是一个 docker 文件时:
RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
我已经安装了 wget,但我不知道为什么它是 return 1(没有错误消息)
不知道,但您不必使用一步安装 shorthand,这可能会让您更好地了解命令在哪里失败。
RUN set -uex; \
wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh; \
sh ./install.sh; \
rm ./install.sh
我认为这是安装脚本的交互部分造成的。
你之前应该生成.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
当您 运行 使用以下命令安装 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 构建 shell 认为执行命令时没有返回代码 0 是错误的。为了解决这个问题,我们可以在 install 命令后附加一个返回零的命令:
RUN sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"; exit 0;