.env
文件位于项目根目录中。我正在使用以下docker文件
FROM alpine:3.7
WORKDIR /app
COPY . /app
RUN apk update && apk add build-base python3 python3-dev --no-cache bash && \
pip3 install --upgrade pip && \
pip3 install --trusted-host pypi.python.org --no-cache-dir -e. && \
./scripts/install.sh
EXPOSE 5000 3306
CMD ["myserver", "run"]
和install.sh文件,如下所示
#!/usr/bin/env bash
source .env
当我登录到Docker容器时,我注意到该.env
文件未获得来源。如何以往.env
文件中folder
。如何.env
使用Docker文件在Docker容器中获取文件?
RUN
仅在构建阶段生效,因此您source
将永远不会影响运行时的容器。您应该在容器运行时运行源代码CMD
或ENTRYPOINT
在容器运行时运行源代码,并entrypoint.sh
为您的项目编写一个。像这样
Dockerfile:
ENTRYPOINT ["docker-entrypoint.sh"]
docker-entrypoint.sh:
source .env
my_server run
并且,ENV
在dockerfile中使用是另一种会影响运行时容器的方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句