如何调试用docker运行的凤凰应用程序?

时间:2018-03-26 00:23:19

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

我正在尝试在控制器的索引操作中使用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运行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

1 个答案:

答案 0 :(得分:2)

使用body { font-family: 'Roboto', sans-serif; font-size: 14px; height:100%; } .navbar-default { background: linear-gradient(0deg, rgba(77,77,77,1) 0%, rgba(0,0,0,1) 100%); border-bottom: 1px solid orange; height:110px; padding:30px 0; }附加到bash并运行自定义iex会话。 例如:

  

docker exec -it NAME bash