Docker 模块EEx不可用

Docker 模块EEx不可用,docker,elixir,elixir-mix,Docker,Elixir,Elixir Mix,我正在创建一个应用程序,当我在本地运行它时,一切正常。但是,当我在docker容器中运行它时,在运行时会出现以下错误: **(UndefinedFunctionError)函数EEx.eval_string/2未定义(模块EEx不可用) 是否需要在附加应用程序内指定:eex?如果有的话,有人能给我指一下这方面的文档吗?我以为Eex是带着长生不老药来的 这是我的mix.exs文件: # mix.exs def application do [ mod: {MyApp.Ap

我正在创建一个应用程序,当我在本地运行它时,一切正常。但是,当我在docker容器中运行它时,在运行时会出现以下错误:

**(UndefinedFunctionError)函数EEx.eval_string/2未定义(模块EEx不可用)

是否需要在
附加应用程序内指定
:eex
?如果有的话,有人能给我指一下这方面的文档吗?我以为Eex是带着长生不老药来的

这是我的
mix.exs
文件:

# mix.exs

  def application do
    [
      mod: {MyApp.Application, []},
      extra_applications: [:logger]
    ]
  end

  defp deps do
    [
      {:tzdata, "~> 1.0.3"},
      {:bamboo, "~> 1.5"}
    ]
  end
Dockerfile:

FROM elixir:1.10 as build

ENV MIX_ENV=prod
ENV LANG=C.UTF-8

RUN mix local.hex --force && mix local.rebar --force

ARG LOG_LEVEL=info

RUN mkdir /build

WORKDIR /build

COPY . .

RUN mix deps.get && \
    mix release --path /release && \
    rm -rf /build

WORKDIR /release

ENTRYPOINT ["/release/bin/my_app"]

在构建发行版时,只有核心被打包在OTP中(
:elixir
应用程序)

既不包括
:eex
,也不包括
:mix
:iex
,以及其他一些额外的库。甚至
:ssl
:crypto
也可以在本地开发环境中使用。我们的目标是明确地包含任何可能不需要的内容,以避免过于臃肿的发布

我不确定它是否有明确的文档记录,但您可以检查是否有包含
:eex
应用程序的引用

出于同样的原因,任何调用
Mix.env/0
(或任何其他
Mix
函数)的尝试都会以同样的方式在发布中失败