Eu reconstruo a imagem ou reinicio o container, para onde vão meus dados do banco de dados? Ele se foi?
- Não, os dados não desapareceram. A única vez que os dados são removidos é se você remover o contêiner:
docker rm <my postgres container>
. A única vez que isso não é verdade é se você montar um volume no contêiner para expor o volume de dados:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2
Quero usar meu banco de dados no meu aplicativo Flask (Docker), o que preciso colocar na minha configuração? (DATABASE_URI, NOME etc.)
- Isso pode ser um assunto de debate, mas eu usaria uma variável de ambiente que você define quando inicia o contêiner:
docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest
Na sua configuração você iriaos.getenv('POSTGRES_URL', 'localhost')
. Isso permite que você padronize para localhost se o contêiner estiver vinculado, caso contrário, você poderá apontá-lo para outro contêiner em execução em outra máquina. Isso é melhor porque permite maior flexibilidade em sua implantação.
Quero fazer backup do meu banco de dados ou carregar dados nele? Posso apenas conectar nele?
- Sim, assim como qualquer outra coisa, você pode se conectar ao Postgres em
IP:PORT
usando as credenciais especificadas no tempo de execução do contêiner.