Dockerfile 中 ENV 中的设置路径被否决了吗?
Settings path in ENV in Dockerfile get overruled?
我这样做了:
FROM registry.access.redhat.com/ubi8/python-39:1-48
USER root
ENV APP_ROOT=/jup\
PY_PKG_DIR=${APP_ROOT}/src/app-pkg\
...
我将文件复制到该路径:
COPY start-singleuser.sh jupyter_notebook_config.py ${PY_PKG_DIR}
我想动态设置入口点:
ENTRYPOINT ["/bin/bash", "$PY_PKG_DIR/start-singleuser.sh"]
这不起作用(路径不是 /jup/src/app-pkg
,因为文件位于不同的位置。
我在这里找到了它们:
opt/app-root/src/app-pkg
这是怎么发生的?是否可以在 baseimage 中否决我的 APP_ROOT
变量?
如果你想使用一个环境变量和另一个环境变量,你应该分开声明,因为在命令完成之前不会设置 ENV 中的变量
ENV APP_ROOT=/jup
ENV PY_PKG_DIR=${APP_ROOT}/src/app-pkg \
我这样做了:
FROM registry.access.redhat.com/ubi8/python-39:1-48
USER root
ENV APP_ROOT=/jup\
PY_PKG_DIR=${APP_ROOT}/src/app-pkg\
...
我将文件复制到该路径:
COPY start-singleuser.sh jupyter_notebook_config.py ${PY_PKG_DIR}
我想动态设置入口点:
ENTRYPOINT ["/bin/bash", "$PY_PKG_DIR/start-singleuser.sh"]
这不起作用(路径不是 /jup/src/app-pkg
,因为文件位于不同的位置。
我在这里找到了它们:
opt/app-root/src/app-pkg
这是怎么发生的?是否可以在 baseimage 中否决我的 APP_ROOT
变量?
如果你想使用一个环境变量和另一个环境变量,你应该分开声明,因为在命令完成之前不会设置 ENV 中的变量
ENV APP_ROOT=/jup
ENV PY_PKG_DIR=${APP_ROOT}/src/app-pkg \