【问题标题】:How to debug phoenix application which running with docker?如何调试使用 docker 运行的 phoenix 应用程序?
【发布时间】:2018-03-27 08:18:22
【问题描述】:

我正在尝试在控制器的索引操作中使用 IEx.pry,但不起作用,我之前需要 IEx。

 defmodule Registering.DriverController do
   require IEx
   use Registering.Web, :controller
   ....
 end

 def index(conn, _params) do
   drivers = Repo.all(Driver)
   IEx.pry
   ...
 end

当我运行 docker-compose run web iex -S mix phx.server 并重新加载索引路由器时,iex 控制台不显示调试操作。

这是我的 Dockerfile:

FROM elixir:latest

MAINTAINER Your Name <email>

RUN mix local.hex --force

RUN mix archive.install --force https://github.com/phoenixframework/archives/raw/master/phx_new.ez

RUN mix local.rebar --force

WORKDIR /app

这是我的 docker-compose.yml:

web:
  build: .
  ports:
    - "4000:4000"
  command: mix phx.server
  environment:
    - MIX_ENV=dev
    - PORT=4000
  volumes:
    - .:/app
  links:
    - db
db:
  image: postgres
  environment:
    - POSTGRES_USER=postgres
    - POSTGRES_PASSWORD=postgres
    - POSTGRES_HOST=db

【问题讨论】:

  • 你能试试用 --interactive 运行吗:-)

标签: docker docker-compose elixir dockerfile phoenix-framework


【解决方案1】:

使用docker exec 附加到 bash 并运行您的自定义 iex 会话。 例如:

docker exec -it 名称 bash

【讨论】:

    猜你喜欢
    • 2019-05-09
    • 2019-06-17
    • 2016-03-13
    • 2023-02-11
    • 2017-05-03
    • 2020-08-10
    • 2021-02-04
    • 1970-01-01
    • 2022-10-13
    相关资源
    最近更新 更多