我有一个包含以下内容的docker-compose文件:
environment:
DOCUMENT_ROOT: /var/some/dir
我想将该路径添加到我的容器中。 在我的DockerFile中,添加:
RUN echo "export PATH=$PATH:${DOCUMENT_ROOT}" >> /root/.bashrc
但是它不起作用。看来ENV参数不可用。
出什么问题了?
亚伦
答案 0 :(得分:2)
ARG some_variable_name
RUN echo "export PATH=$PATH:${some_variable_name}" >> /root/.bashrc
您应该在Dockerfile中使用ARG
并在构建命令中设置参数:
docker build --build-arg some_variable_name=a_value
ARG仅在构建Docker映像(RUN等)期间可用, 在创建映像并从中启动容器之后 (ENTRYPOINT,CMD)。您可以使用ARG值将ENV值设置为有效
或在docker-compose中
version: '3'
services:
somename:
build:
context: ./app
dockerfile: Dockerfile
args:
some_variable_name: a_value
Understanding Docker Build Args, Environment Variables and Docker Compose Variables