En este post, aprenderemos como instalar y configurar PostgreSQL y Pgadmin con Docker. si aun no estas familiarizado con Docker, por favor lee ¿Cómo usar los comandos de Docker? primero.
Puedes ver la versión en inglés aquí.
Puedes contactarme por telegram si necesitas contratar a un desarrollador Blockchain Full Stack.
Si usas Linux como sistema operativo, escribe $docker
en la terminal y te mostrara como instalar Docker.
Si usas Mac o Windows, seria mejor installar la aplicacion de Docker en escritorio. luego opcionalmente puedes configurarlo para utilizar minima cantidad de recursos.
Tabla de contenidos
- Instalar Postgresql y Pgamdin con Docker
- Enlazarlos con Docker network
- Configuracion de Pgadmin y confirmar conexion
- Conclusion
1. Instalar Postgresql y Pgamdin con Docker
Antes de Instalar Postgresql con Docker, haremos que los datos persistan en la máquina con volume.
$docker volume create postgresqldata
Podrás ver si funciono con el comando $docker volume ls
DRIVER VOLUME NAME
local postgresqldata
El Volumen para guardar los datos de Postgresql esta listo, ahora lo instalaremos con Docker y lo enlazaremos al volumen que hemos creado con el siguiente comando.
$docker run -d -v postgresqldata:/data/db -e POSTGRES_PASSWORD=postgres --name postgres -p 5432:5432 postgres
Puedes usar tu propia password si deseas luego de terminar este post.
Cuando la instalación se haya completado, veras un mensaje similar por consola.
Status: Downloaded newer image for postgres:latest
Ahora usa $docker ps -a
para ver si se guardo correctamente.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
postgres "docker-entrypoint.s…" 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp postgres
Usa $docker exec -it postgres /bin/bash
para usar la consola de la imagen de Docker y luego $psql -h localhost -U postgres
para poder utilizar los comandos psql en la terminal.
No vas a necesitar hacer esto a menudo si instalas pgadmin luego, pero puedes cambiar el password si lo deseas con \password
si quieres al terminar el post.
Verificamos que Postgresql fue instalado correctamente con Docker.
Usaremos otra consola para instalar Pgadmin y gestionar de forma mas facil con el siguiente comando.
$docker run --name pgadmin -e "PGADMIN_DEFAULT_EMAIL=name@example.com" -e "PGADMIN_DEFAULT_PASSWORD=admin" -p 5050:80 -d dpage/pgadmin4
Veras un mensaje similar a este.
Status: Downloaded newer image for dpage/pgadmin4:latest
Puedes ver que se instaló correctamente otra vez con $docker ps -a
abre tu explorador y coloca la siguiente url http://localhost:5050/login para ver si esta funcionando correctamente, utiliza el usuario y contraseña que usaste anteriormente.
Seras redirigido a la página de administrador.
2. Enlazarlos con Docker network y configuracion de Pgadmin.
Para hacer que el Pgadmin que instalamos con Docker funcione con Postgresql, debemos enlazarlos con los comandos de Docker network.
Primero crearemos pgnetwork, como se muestra en el siguiente comando.
$docker network create --driver bridge pgnetwork
Puedes ver si fue creado con el siguiente comando $docker network ls
.
NETWORK ID NAME DRIVER SCOPE
pgnetwork bridge local
Ahora enlazaremos Pgadmin y Postgresql al pgnetwork con estos comandos.
$docker network connect pgnetwork pgadmin
$docker network connect pgnetwork postgres
Puedes verificar que esten conectados a pgnetwork con el comando docker network inspect pgnetwork
.
[
{
"Name": "pgnetwork",
{
"Name": "pgadmin",
"Name": "postgres",
}
},
}
]
Si pudiste llegar hasta aqui, quiere decir que todo esta listo para hacer que funcione Pgadmin con Postgresql en Docker.
3. Configuración de Pgadmin y confirmar conexión
Debido a que enlazamos Pgadmin y Postgresql con Docker en la misma red, finalmentos podemos configurar Pgadmin para conectarse con Postgresql.
Ahora haz clic en el botón "new server" en la página de administrador.
Ahora, utiliza postgres para todos los campos que sean necesarios en caso de que no hayas cambiado nada hasta el momento.
Haz clic en el botón "save" para guardar y veras que la conexion finalmente se realizó.
Espero que hayas podido llegar hasta aqui. Puedes buscar mas informacion de como usarlo en su sitio web
Puedes detenerlo luego de probarlo para que no utilice muchos recursos con este comando.
$docker stop pgadmin postgtres
Estos comandod pueden serte de ayuda en caso de que decidas usarlo con Python.
# Intel
# $pip install psycopg2 or
# M1
# $brew install postgresql, $brew link openssl
# export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/icu4c/include"
# export PATH=/opt/homebrew/opt/postgresql@13/bin:$PATH
# export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
# export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
# export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"
# pip install psycopg2-binary
4. Conclusion
En este post, aprendimos s como instalar y configurar Postgresql y Pgamdin en Docker. También podras utilizarlo con una instancia remota de Postgresql.
Si lograste hacerlo funcionar, no tendras que volver a instalar localmente Postgresql y pgadmin.
Si necesitas un desarrollador, puedes contactarme.
Puedo escribir una full stack dapp.
Gracias.
Top comments (0)