我在一个简单的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运行中传递参数,而不是在构建图像时。