如何使用"&"创建Dockerfile到RUN命令?

Tig*_*z32 0 docker dockerfile

我在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 
Run Code Online (Sandbox Code Playgroud)

这是确切的错误: /bin/sh: 1: Syntax error: "&&" unexpected

Man*_*ani 6

尝试使用后台进程运行多个命令时,必须对命令进行分组并&使用().
所以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
Run Code Online (Sandbox Code Playgroud)

参考:在Linux中以bg身份运行多个命令