在Dockerfile中,如何更新PATH环境变量?

我有一个从源代码下载并构建GTK的dockerfile,但是以下行未更新映像的环境变量:

RUN PATH="/opt/gtk/bin:$PATH"

RUN export PATH

我读到我应该使用ENV来设置环境值,但是以下指令似乎也不起作用:

ENV PATH /opt/gtk/bin:$PATH

这是我的整个Dockerfile:

FROM ubuntu

RUN apt-get update

RUN apt-get install -y golang gcc make wget git libxml2-utils libwebkit2gtk-3.0-dev libcairo2 libcairo2-dev libcairo-gobject2 shared-mime-info libgdk-pixbuf2.0-* libglib2-* libatk1.0-* libpango1.0-* xserver-xorg xvfb

# Downloading GTKcd

RUN wget http://ftp.gnome.org/pub/gnome/sources/gtk+/3.12/gtk+-3.12.2.tar.xz

RUN tar xf gtk+-3.12.2.tar.xz

RUN cd gtk+-3.12.2

# Setting environment variables before running configure

RUN CPPFLAGS="-I/opt/gtk/include"

RUN LDFLAGS="-L/opt/gtk/lib"

RUN PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"

RUN export CPPFLAGS LDFLAGS PKG_CONFIG_PATH

RUN ./configure --prefix=/opt/gtk

RUN make

RUN make install

# running ldconfig after make install so that the newly installed libraries are found.

RUN ldconfig

# Setting the LD_LIBRARY_PATH environment variable so the systems dynamic linker can find the newly installed libraries.

RUN LD_LIBRARY_PATH="/opt/gtk/lib"

# Updating PATH environment program so that utility binaries installed by the various libraries will be found.

RUN PATH="/opt/gtk/bin:$PATH"

RUN export LD_LIBRARY_PATH PATH

# Collecting garbage

RUN rm -rf gtk+-3.12.2.tar.xz

# creating go code root

RUN mkdir gocode

RUN mkdir gocode/src

RUN mkdir gocode/bin

RUN mkdir gocode/pkg

# Setting the GOROOT and GOPATH enviornment variables, any commands created are automatically added to PATH

RUN GOROOT=/usr/lib/go

RUN GOPATH=/root/gocode

RUN PATH=$GOPATH/bin:$PATH

RUN export GOROOT GOPATH PATH

回答:

您可以使用环境更换你Dockerfile如下:

ENV PATH="/opt/gtk/bin:${PATH}"

以上是 在Dockerfile中,如何更新PATH环境变量? 的全部内容, 来源链接: utcz.com/qa/428282.html

回到顶部