Cómo Instalar PostgreSQL y Pgadmin con Docker

SteadylearnerPublished 2 years ago

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.

También puedes unirte a mi grupo de telegram, en el cual puedes encontrar otros desarrolladores blockchain, así como reclutadores, jefes de proyecto, así como hacer preguntas y ampliar tu red

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

  1. Instalar Postgresql y Pgamdin con Docker
  2. Enlazarlos con Docker network
  3. Configuracion de Pgadmin y confirmar conexion
  4. 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.