代码之家  ›  专栏  ›  技术社区  ›  Big Jay

在docker运行期间无法从docker文件读取变量

  •  1
  • Big Jay  · 技术社区  · 1 年前

    我在一个简单的React应用程序中有一个docker文件,显示了一张照片。当我从docker映像运行一个新容器时,我必须将URL传递给这张照片。我正在尝试使用一个ENV变量,该变量将在docker运行时设置。变量正在设置中,当我转到docker桌面应用程序的检查部分时,我可以看到它,但我的docker文件没有使用它。

    这是我的docker文件:

    ARG source
    
    FROM node:alpine AS development
    
    ENV source=$source
    
    EXPOSE 3000
    
    WORKDIR /react-app
    
    COPY ./package.json /react-app
    RUN npm install
    
    COPY . .
    
    ADD ${source} /react-app/src/data
    
    CMD npm start
    

    我已经尝试使用ARG并在FROM之后和之前更改其位置。

    我试着移动ADD(在我使用变量的地方),并将其放在ENV之后。

    我试过使用 $source 而不是 ${source}

    我试着去掉ARG,只使用ENV,因为我知道ARG只用于 docker build 而不是 docker run 但我没有运气。

    这是我的docker run命令:

    docker run --rm -ti -e source=https://**myblobstorage**/BlobData/pic.jpg -p 3000:3000 -i myimage:latest
    

    我在这里做错了什么?我需要从docker运行中传递参数,而不是在构建图像时。

    0 回复  |  直到 1 年前