在Docker容器中运行一个Scala应用程序,可以通过以下步骤进行:
- 编写Scala应用程序:
scala
object HelloWorld extends App {
println("Hello World!")
}
保存为HelloWorld.scala。
- 构建Dockerfile:
Dockerfile
FROM openjdk:8-jdk-alpine AS build
WORKDIR /app
COPY HelloWorld.scala .
RUN scalac HelloWorld.scala
FROM openjdk:8-jre-alpine
WORKDIR /app
COPY --from=build /app/HelloWorld.class .
ENTRYPOINT ["```", "HelloWorld"]
此Dockerfile采用多阶段构建。第一阶段基于OpenJDK编译Scala应用程序,第二阶段仅复制构建好的class文件,并指定为Java入口点。
- 构建镜像:
docker build -t scala-app .
- 运行容器:
docker run scala-app
输出:
Hello World!
- 在Docker Compose中定义应用:
yaml
version: '3'
services:
scala-app:
build: .
image: scala-app
docker-compose run scala-app
可以一键运行应用。