DEV Community

Cover image for Cómo Instalar PostgreSQL y Pgadmin con Docker
Steadylearner
Steadylearner

Posted on

Cómo Instalar PostgreSQL y Pgadmin con Docker

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.

docker desktop

Si usas Mac o Windows, seria mejor installar la aplicacion de Docker en escritorio. luego opcionalmente puedes configurarlo para utilizar minima cantidad de recursos.

configuracion minimo uso 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
Enter fullscreen mode Exit fullscreen mode

Podrás ver si funciono con el comando $docker volume ls

DRIVER    VOLUME NAME
local     postgresqldata
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 
Enter fullscreen mode Exit fullscreen mode

Veras un mensaje similar a este.

Status: Downloaded newer image for dpage/pgadmin4:latest
Enter fullscreen mode Exit fullscreen mode

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.

login

Seras redirigido a la página de administrador.

admin

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
Enter fullscreen mode Exit fullscreen mode

Puedes ver si fue creado con el siguiente comando $docker network ls.

NETWORK ID     NAME        DRIVER    SCOPE
               pgnetwork   bridge    local
Enter fullscreen mode Exit fullscreen mode

Ahora enlazaremos Pgadmin y Postgresql al pgnetwork con estos comandos.

$docker network connect pgnetwork pgadmin
$docker network connect pgnetwork postgres
Enter fullscreen mode Exit fullscreen mode

Puedes verificar que esten conectados a pgnetwork con el comando docker network inspect pgnetwork.

[
    {
        "Name": "pgnetwork",
            {
                "Name": "pgadmin",
                "Name": "postgres",
            }
        },
    }
]
Enter fullscreen mode Exit fullscreen mode

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.

set up pgadmin general

set up pgadmin connection

Haz clic en el botón "save" para guardar y veras que la conexion finalmente se realizó.

end connection

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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.

Discussion (0)