在Docker容器中运行一个Clojure应用程序,可以通过以下步骤进行:
- 编写Clojure应用程序:
clojure
(println "Hello, World!")
保存为app.clj。
- 构建Dockerfile:
Dockerfile
FROM clojure:lein-2.9.1
WORKDIR /app
COPY app.clj .
RUN lein uberjar
CMD ["```", "-jar", "target/uberjar.jar"]
此Dockerfile构建基于clojure:lein-2.9.1的镜像,将app.clj复制到镜像,使用lein uberjar创建FAT JAR,并指定“` -jar target/uberjar.jar为入口点。
- 构建镜像:
docker build -t clojure-app .
- 运行容器:
docker run clojure-app
输出:
Hello, World!
- 在Docker Compose中定义应用:
yaml
version: '3'
services:
clojure-app:
build: .
image: clojure-app
docker-compose run clojure-app
可以一键运行应用。