发布于 2026-01-06 1 阅读
0

只需一条命令即可将 Docker 添加到 Elixir/Phoenix 项目 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

只需一条命令即可将 Docker 添加到 Elixir/Phoenix 项目

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!

最近我一直在写大量的 Elixir 代码,包括一些 Phoenix 网站和其他一些小型 Elixir 应用。每次创建新项目时,我都会遇到一个困扰:要么一开始就想添加 Docker,因为我知道项目会依赖 Redis 或 Postgres 等服务;要么在项目进行到一半时才想添加,但这会大大降低我快速开发的速度。

我喜欢 Elixir 的一点是,它能让你快速上手编写应用程序,无论是 Web 应用还是拥有庞大管理树的复杂应用。
总之,我发现自己会回到以前使用 Docker 的项目,只需复制一些必要的文件就能重新开始,并沿用我熟悉的工作流程。

exdocker

所以我决定尝试用 Elixir 命令行应用(Escript)来解决这个问题。它其实功能不多,只是写入一些文件并进行一些字符串替换,以简化 Docker 的配置。
我把它命名为exdocker,因为我的创意不如以前了。

安装

请确保~/.mix/escripts已将其添加到您的计算机配置文件中$PATH。您可以通过将其添加export PATH=~/.mix/escripts:$PATH到您的配置.bashrc文件或类似文件中来实现这一点。

  1. mix escript.install hex ex_docker
  2. source ~/.bashrc- 加载 escript 并$PATH更新

用法

  • 创建一个新的 Elixir 项目mix phx.new my_project exdocker my_project
  • 将其添加到现有的 Elixir 项目中exdocker my_project,或exdocker .在当前目录中运行。

项目根目录下会创建三个文件:

  • docker-compose.yml - Docker 容器的配置
  • Dockerfile - 指定 Elixir/Phoenix 运行需要安装哪些组件
  • Makefile - 方便的 docker-compose 命令目标

然后,您可以从 root 用户运行 make init shell 来构建和运行 Docker 容器,当此命令完成后,您将进入一个安装了 Elixir 和 Mix 的 shell 会话,以便您可以像往常一样继续开发。

其他任何时候需要使用它,都可以使用以下命令执行exdocker

如果您觉得这篇文章有用,请务必告诉我!

文章来源:https://dev.to/jackmarchant/add-docker-to-elixirphoenix-projects-in-one-command-1hji