如何在Docker容器中运行一个Haskell应用程序?

在Docker容器中运行一个Haskell应用程序,可以通过以下步骤进行:

  1. 编写Haskell应用程序:
haskell
main = putStrLn "Hello, World!"

保存为app.hs。

  1. 构建Dockerfile:
Dockerfile
FROM haskell:8.8.3
WORKDIR /app
COPY app.hs .
RUN ghc --make app.hs
CMD ["./app"]  

此Dockerfile构建基于haskell:8.8.3的镜像,将app.hs复制到镜像,使用ghc编译并指定./app为入口点。

  1. 构建镜像:
docker build -t haskell-app .
  1. 运行容器:
docker run haskell-app

输出:

Hello, World!
  1. 在Docker Compose中定义应用:
yaml
version: '3'  
services:
  haskell-app:
    build: .
    image: haskell-app
docker-compose run haskell-app 

可以一键运行应用。