我应该如何将 Julia 包持久保存在 Docker 容器中
·
问题:我应该如何将 Julia 包持久保存在 Docker 容器中
我在树莓派 4 上运行 Julia。对于我正在做的事情,我需要 Julia 1.5,幸运的是这里有一个 docker 镜像:https://github.com/Julia-Embedded/jlcross
我的挑战是,因为这是一个正在进行中的开发,我发现自己在工作时到处添加包。持久保存更新的环境的最佳方法是什么?
这是我的问题:
-
我很难将注意力集中在卷上,这些卷将从 Julia 的包管理器中保存包并在我下次运行容器时保留它们
-
每次我安装一个包时,以某种方式提交我的 docker 容器似乎很笨拙。
是否就最佳方式达成共识,或者可能有另一种方式来做我想做的事情?
解答
您可以通过将专用卷安装到容器内的/home/your_user/.julia中来保持下载和预编译包的状态:
$ docker run --mount source=dot-julia,target=/home/your_user/.julia [OTHER_OPTIONS]
根据 julia 在容器内运行的方式(以及由哪个用户),您可能必须调整上面的目标路径以指向 Julia 的DEPOT_PATH中的第一个条目。
您可以通过JULIA_DEPOT_PATH环境变量自行设置来控制此路径。或者,您可以通过在容器中的 Julia REPL 中运行以下命令来检查它是否位于非标准位置:
julia> println(first(DEPOT_PATH))
/home/francois/.julia
更多推荐
所有评论(0)