我需要在docker-compose.yml中添加一些路径到我的PATH
在docker-compose.yml中我试过了
app: ... environment: - PATH /code/project
然而,这只会覆盖现有的PATH - 而我想添加到现有的PATH
A docker-compose.yml
没有任何意义来扩展已经在Docker镜像中设置的环境变量.
我看到做这些事情的唯一方法是拥有一个Docker镜像,它需要一些环境变量(比方说ADDITONAL_PATH
),并在运行时扩展它自己的PATH
环境变量.
我们来看看以下Dockerfile:
FROM busybox ENV PATH /foo:/bar CMD export PATH=$PATH:$ADDITIONAL_PATH; /bin/echo -e "ADDITIONAL_PATH is $ADDITIONAL_PATH\nPATH is $PATH"
和下面的搬运工-compose.yml文件(在相同的目录中Dockerfile):
app: build: .
构建图像: docker-compose build
并启动容器:docker-compose up
,您将获得以下输出:
app_1 | ADDITIONAL_PATH是
app_1 | PATH是/ foo:/ bar:
现在将docker-compose.yml文件更改为:
app: build: . environment: - ADDITIONAL_PATH=/code/project
并启动一个容器:docker-compose up
,您现在将获得以下输出:
app_1 | ADDITIONAL_PATH是/ code/project
app_1 | PATH是/ foo:/ bar:/ code/project
另请注意docker-compose.yml文件中的语法错误:=
环境变量名称与其值之间必须有等号().
environment: - PATH=/code/project
代替
environment: - PATH /code/project