O uso do Docker e seus containers facilitou muito a vida, não só dos sysadmins, como do desenvolvedores de um modo geral.
Entretanto, esses dias precisei acessar o SGBD PostgreSQL que roda em um container Docker e tive, por pura inesperiência e falta de conhecimento até então, um pouco de dificuldade.
Bom tudo é difícil e complicado enquanto não se sabe como se fazer, e acessar o PostreSQL não é um bicho de sete cabeças, só saber o caminho das pedras. Conhecimento esse que deixo aqui registrado até para quando eu precisar novamente eu tenha fácil acesso. O procedimento é:
Primeiramente, como o container ativo, o que podemos saber com o seguinte comando:
docker container ps
Cujo resultado é algo semelhante ao seguinte:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
56fa1b0f91d7 ba5ab22916de "docker-entrypoint.s…" 24 hours ago Up 5 minutes 0.0.0.0:5442->5432/tcp meu_database
Com o container ok como o listado acima, basta executar o seguinte código:
docker exec -it meu_database bash
No qual, claro, o meu_database
pode ser o nome do container ou seu ID
como mostrado na lista de containers.
Feito isso, teremos o prompt do bash no container, como no exemplo abaixa:
Veja que é o usuáro root
na máquina cujo número é o ID
do container. Agora é só executar o seguinte comando:
psql -U postgres
E pronto, já estamos no SGBD PostgreSQL e poderemos criar usuários, bancos, tabelas o que for necessário para o nosso trabalho. Essa fato é corroborado pela mudança do prompt acima para:
postgres=#
É isso! Espero que esse pequeno tutorial ajude mais alguém, assim como essas informações me ajudaram.