我有一个 Java 应用程序,它使用 conda 包执行某些任务。因此我需要在 docker 容器启动时激活 conda 环境。我已在 docker 文件中尝试执行以下操作:
ENTRYPOINT ["/bin/bash", "-c", "source /opt/conda/bin/activate myenv && java -jar app.jar"]
ENTRYPOINT ["conda", "run", "--no-capture-output", "-n", "myenv", "java", "-jar", "app.jar"]
但是这些都不起作用,我必须手动激活容器内的环境。
在 Dockerfile 中执行此操作的正确方法是什么?
您是否尝试过使用添加源命令来在文件
.bashrc
(或其他 shell 的其他 rc 配置)中激活 Conda 环境,使用RUN
并将带有PATH
路径的变量附加到环境 bin/opt/conda/envs/myenv/bin
并在其中运行 java 命令ENTRYPOINT
如果
ENTRYPOINT
不起作用,你可以尝试使用原始ENTRYPOINT
命令