使用ENV参数设置容器PATH

时间:2019-03-14 11:46:08

标签: docker docker-compose

我有一个包含以下内容的docker-compose文件:

 environment:
      DOCUMENT_ROOT: /var/some/dir

我想将该路径添加到我的容器中。 在我的DockerFile中,添加:

RUN echo "export PATH=$PATH:${DOCUMENT_ROOT}" >> /root/.bashrc

但是它不起作用。看来ENV参数不可用。

出什么问题了?

亚伦

1 个答案:

答案 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