作者:蓝田学园赴嘉兴镇海吉林实践团队 | 来源:互联网 | 2022-12-04 19:52
我在Dockerfile中有以下命令.每当我创建一个新图像时执行.问题是这个命令失败了,因为我有一个&
in Xvfb :99 &
.围绕它的好方法是什么?添加引号没有帮助.
RUN set -ex \
&& apt-get update -yqq \
&& apt-get upgrade -yqq \
&& apt-get install -yqq --no-install-recommends \
python3-pip \
python3-requests \
software-properties-common \
python-software-properties \
xvfb \
&& Xvfb :99 & \
&& export DISPLAY=:99
这是确切的错误: /bin/sh: 1: Syntax error: "&&" unexpected
1> Mani..:
尝试使用后台进程运行多个命令时,必须对命令进行分组并&
使用()
.
所以run语句应该如下所示.
RUN set -ex \
&& apt-get update -yqq \
&& apt-get upgrade -yqq \
&& apt-get install -yqq --no-install-recommends \
python3-pip \
python3-requests \
software-properties-common \
python-software-properties \
xvfb \
&& ( Xvfb :99 & ) \
&& export DISPLAY=:99
参考:在Linux中以bg身份运行多个命令