Iniciando Elixir e Phoenix no Docker de maneira simples e sem complicações!!
Copie este repositório na pasta do seu projeto:
git clone https://github.com/keikomori/docker-elixir-phoenix
Acesse a pasta do projeto:
cd docker-elixir-phoenix
Execute a imagem do Dockerfile:
docker-compose build
Crie sua aplicação:
docker-compose run --rm phoenix mix phx.new . --app <nome da aplicação> --no-html --no-webpack
Essa parte é bem importante, então não esqueça dela. Acesse o arquivo da pasta /scr/config/devs.exs
- mude o nome que está no
hostname
delocalhost
paradb
# Configure your database
config :inmana, Inmana.Repo,
adapter: Ecto.Adapters.Postgres,
username: "postgres",
password: "postgres",
database: "inmana_dev",
hostname: "db",
show_sensitive_data_on_connection_error: true,
pool_size: 10
Vai ficar da forma que está acima.
Agora vamos inicializar o banco de dados com o Ecto:
docker-compose run --rm phoenix mix ecto.create
Agora podemos testar se o Elixer e Phoenix estão funcionando devidamente executando:
docker-compose up
No navegador acesse a página:
http://localhost:4000/dashboard
Seu ambiente Docker está pronto para criar sua aplicação!!!
docker-compose run --rm phoenix mix deps.get
docker-compose run --rm phoenix mix deps.compile
docker ps
lista todos os container que estão em execução no momentodocker container ls --all
lista todos os container que estão disponíveisdocker logs <container>
mostra o registro do containerdocker start/stop <container>
inicia ou para um containerdocker rm <container>
remove o containerdocker images
lista todas as imagens disponíveisdocker rmi <images>
remove uma imagemdocker-compose down --volumes
destrói os volumes criadosdocker-compose up
cria e inicializa os containers