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

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

  1. 编写Erlang应用程序:
erlang
-module(hello).
-export([start/0]).

start() -> 
    io:fwrite("Hello, World!~n").

保存为hello.erl。

  1. 构建Dockerfile:
Dockerfile
FROM erlang:22.3.4.1
WORKDIR /app
COPY hello.erl .
CMD ["erl", "-eval", "hello:start()", "-s", "init", "stop"]

此Dockerfile构建基于erlang:22.3.4.1的镜像,将hello.erl复制到镜像并指定erl -eval “hello:start()” -s init stop为入口点。

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

输出:

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

可以一键运行应用。