Tag: leiningen

如何从Docker容器中访问私有Maven回购?

我们有许多用clojure编写的web服务,而且我们也有一些内部的共享依赖关系,我们保留在一个私有的maven仓库中。 Leiningen需要一个encryption的凭证文件,目前我们的每个开发人员都有自己的私钥,这些私钥在运行时用来解密凭证。 我试图迁移到容器,使部署和入职更容易,但马上我遇到了问题,从容器内lein run不能访问我的gpg键,这当然是在容器之外。 我设法使用docker run bash在容器内部生成一个密钥,并使用它来encryption凭据,但这不会扩展,因为我必须将未encryption的凭据保留在项目目录中。 我不确定最好的path是什么 – 我怎样才能安全地从私人回购拉动?

lein deps从Dockerfile中调用时退出

当从Dockerfile RUN命令中调用时, lein deps退出。 这意味着我无法预装我的.m2存储库。 我可以 tty进入docker集装箱,并成功运行在WORKDIR lein deps 。 但是这些命令都不在Dockerfile中工作。 RUN lein deps RUN /bin/bash -c 'lein deps' RUN ["/bin/bash", "-c", "lein deps"] 他们都产生这个错误。 The command 'lein deps' returned a non-zero code: 1 我的Dockerfile看起来像这样。 FROM pandeiro/lein:latest COPY . /app WORKDIR /app RUN lein deps ENTRYPOINT ["/bin/bash"]

用leiningen构build一个非uberjar Docker镜像

我有一个依赖于Java库的clojure项目,当它被包含在uberjar中时,这个项目不起作用。 (它需要不同的XML描述符在不同的JAR文件中使用相同的文件名。) 我在Leiningen使用Docker的一切都依赖于构build和打包uberjar。 这也是我迄今为止构build的所有clojure Docker镜像。 有没有任何的leiningen插件,理解用多个jar文件打包Docker镜像,比如io.fabric8 / docker-maven-plugin呢?

如何防止Docker容器在退出/ bin / bash会话后停止

如何防止Docker容器退出作为ENTRYPOINT提供的/bin/bash会话后停止? 我的意思是。 假设我有一个用Clojure编写的Web服务,我想把它包装在一个容器中。 这就是Dockerfile外观: FROM pandeiro/lein MAINTAINER some <some@email.com> RUN apt-get update && apt-get install -y git RUN git clone https://github.com/some/some.git && cd web-service && lein deps ENTRYPOINT ["/bin/bash"] 我把/bin/bash作为入口点的原因是用户应该首先对web服务的configuration文件进行一些修改。 当我们执行docker run -p 443:443 -t -i container-name ,会打开一个/bin/bash会话,我们可以在其中安装一个文本编辑器,对configuration文件进行一些更改并通过lein run web服务。 但问题是,当我们closuresbash会话时,整个Docker容器将停止,因此Web服务将不再可用。 在这种情况下我能做些什么? 你在我提供的例子中看到了哪些其他缺陷?

lein ring服务器在docker容器中抛出java.io.FileNotFoundException

我在docker里装了我的clojure项目。 容器已经成功构build,并且运行了java 1.8.0_151和lein 2.8.1。 但是,当我尝试启动一个环服务器时,我得到这个exception。 然而,当我在mac环境中运行相同的代码,一切正常运行。 例外: $ docker-compose up Starting clojurejournal_clojure_journal_1 … Starting clojurejournal_clojure_journal_1 … done Attaching to clojurejournal_clojure_journal_1 clojure_journal_1 | –> INFO: starting lein ring server clojure_journal_1 | Nov 09, 2017 12:16:18 PM com.mchange.v2.log.MLog <clinit> clojure_journal_1 | INFO: MLog clients using java 1.4+ standard logging. clojure_journal_1 | 2017-11-09 12:16:20.027:INFO:oejs.Server:jetty-7.6.1.v20120215 clojure_journal_1 | 2017-11-09 12:16:20.084:INFO:oejs.AbstractConnector:Started […]

在挂载的文件夹中运行Docker镜像命令

我试图执行lein run在一个Clojure Docker镜像中 ,但是当我尝试cd到一个文件夹时,Docker抱怨unable to locate cd : docker run -v /root/chortles:/test -i jphackworth/docker-clojure cd /test && lein run => Unable to locate cd 我如何指示Leiningen运行在不同的文件夹中,或者告诉Docker在运行我的命令之前更改目录?