gpt4 book ai didi

docker - 使用 deps.edn 在容器中安装依赖项

转载 作者:行者123 更新时间:2023-12-05 09:30:59 28 4
gpt4 key购买 nike

我继承了一个 clojure 代码库,我正在尝试将其容器化以进行本地开发。创建者使用 deps.edn 来管理依赖项。但是,我不知道应该使用什么 RUN 命令来预安装项目的依赖项。

目前,我的入口点是以下 ['clj', '-m', 'app'],它会在我每次启动容器时安装依赖项。

如何使用 Docker RUN 命令为 clojure 项目预安装依赖项?

最佳答案

Deps/CLI 缓存 is described here .一般来说,依赖是下载一次,保存在项目目录的一个子目录下,名为

./.cpcache  # "class path cache"

./.cpcache 目录类似于 Maven 和相关工具(例如 Leiningen)使用的 ~/.m2 缓存目录。

如果您在本地运行代码,您应该能够将 .cpcache 目录及其缓存的依赖项复制到您的 Docker 容器中。然后不需要重新下载依赖项对于 Docker 容器的每次启动。

另见 the Deps/CLI overview .


附言

This template project设置为通过 Kaocha 工具使用 lein 和 Deps/CLI 运行。您可能会发现比较很有帮助。


P.P.S.

您可能会发现通过构建一个包含所有代码的 uberjar 文件最容易运行您的代码单个工件中的依赖项。您可以使用 Leiningen 或其他工具(例如 depstar)执行此操作.然后,您可以使用如下命令调用该应用程序:

java -jar demo-0.1.0-standalone.jar

关于docker - 使用 deps.edn 在容器中安装依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69170102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com