在windows中,我已经为“D:\FFMPEG\bin”
设置了一个环境路径,以便在cmd中可以访问它。我怎么能在码头集装箱里做同样的事呢?
尝试1 -在码头文件中,我做了- ENV PATH="D:\FFMPEG\bin:${PATH}"
。也做了
ENV PATH=".\FFMPEG\bin:${PATH}"
尝试2 -在我的船坞-Compose.yml里,我做了-
env_file:
- ./.env
我的.env有- FFMPEG_PATH=./FFmpeg/bin
如何在容器内设置环境路径,就像在windows中一样?Dockerfile
FROM python:3.8.5
ENV APP_HOME /app
WORKDIR $APP_HOME
COPY . /app
RUN apt-get update -y && apt-get install -y --no-install-recommends build-essential gcc libsndfile1
RUN pip install -r requirements.txt
RUN pip install python-dotenv
ENTRYPOINT ["python"]
CMD ["app.py"]
docker-compose.yml
version: "3.9"
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- ".:/app"
env_file:
- ./.env
文件夹结构
Heroku
app.py
Dockerfile
docker-compose.yml
FFMPEG
bin
ffmpeg.exe
谢谢。
发布于 2021-03-13 09:19:22
最好的方法是使用ffmpeg
在容器中安装apt
。不能在Linux容器中使用Windows二进制文件。
RUN apt update && apt install -y ffmpeg # ...
默认情况下,ffmpeg
将在路径上。
但要回答您最初的问题:如果您由于其他原因必须更新路径,您可以:
ENV PATH=$PATH:/app/bin
但听起来这在这种情况下是不必要的。
请记住,您的docker映像中的文件系统完全独立于您的主机文件系统。如果您的容器需要文件或二进制文件,它们必须使用COPY
复制到容器中,或者直接作为构建过程的一部分创建(例如使用RUN
),或者在运行时使用-v
参数安装到docker run
。
如果您的主机系统是Windows,并且容器映像使用Linux,那么在Windows (.exe
文件)上工作的二进制文件将在容器内不兼容。
https://stackoverflow.com/questions/66615686
复制相似问题