Aprovecha el precio especial.

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14d

14h

50m

58s

6

Instalacion de PostgreSQL y pgAdmin con Docker

Gracias al uso de multi-contenedores con Docker y the PostgreSQL Docker Community, tenemos la facilidad de instalar en casi cualquier PC/Servidor PostgreSQL y pgAdmin juntos y listos para trabajar.

Requisitos

  • Cualquier sistema operativo, puede ser Mac, Windows o alguna distro de Linux😏.
  • Docker Desktop, disponible para Mac, Windows y Linux que ofrece una interfaz e instalación más sencilla 👌.
  • Visual Studio Code, disponible para Mac, Windows y Linux, lo usaremos principalmente por una extension para Docker, pero si conoces más de Docker y sus comandos no es necesario 👍.

Pasos de instalación

  1. Garantiza que Docker Desktop este funcionando correctamente y corriendo.
  2. Con Visual Studio Code instala la extensión de Docker de Microsoft. Puedes hacerlo ejecutando Ctrl+P , copia el siguiente comando y presiona enter: ext install ms-azuretools.vscode-docker
  3. Crea una carpeta/directorio y abrela con en VS Code, para el ejemplo será postgres
  4. Crea un archivo yml puedes llamarlo como desees, para el ejemplo será docker-compose.yml
  5. Dentro de ese archivo, copia y pega lo siguiente:
services:
  db:
    image: postgres:13restart: always
    ports:
      -5432:5432environment:
      POSTGRES_PASSWORD: mi_contraseña
  admin:
    image: dpage/pgadmin4
    restart: always
    depends_on:
      - db
    ports:
      -80:80environment:
      PGADMIN_DEFAULT_EMAIL: juan@perez.com
      PGADMIN_DEFAULT_PASSWORD: crazy_juan

  1. Ahora guardamos y abrimos la paleta de comandos presionando F1 y escribiendo Compose Up, para luego presionar enter. Se abrirá la consola donde empezará a descargar e instalar lo necesario, y al finalizar si todo fue correcto podras cerrar dicha consola.
Screenshot from 2022-06-29 15-07-15.png
  1. Ingresaremos a pgAdmin en el navegador, especificamente a la dirección: http://localhost donde ingresaremos el email y contraseña que habiamos definido en nuestro archivo. (Notese que redireccionamos el puerto 80 de pgAdmin al 80 por eso no indicamos ningun puerto en el navegador)
Screenshot from 2022-06-29 16-11-51.png
  1. Ahora debemos registrar el servidor con PostgreSQL. Hacemos clic derecho en Servers -> Register -> Server.
Screenshot from 2022-06-29 16-13-27.png
  1. En la ventana emergente asignamos un nombre, para el ejemplo será: PostgreSQL.
Screenshot from 2022-06-29 16-18-49.png
  1. Dentro la misma ventana, accedemos a la pestaña Connection, donde escribiremos en host y password: dby mi_contraseña respectivamente (tal como está en nuestro archivo). Tambien debemos escribir en username postgres, dado que es el usuario por defecto. Finalmente hacemos clic en Save.
Screenshot from 2022-06-29 16-29-20.png

Acceder a la shell de PostgreSQL

Usando la extension de Docker en VS Code debemos hacer clic derecho en el contenedor que necesitemos para luego seleccionar la opción Attach Shell donde se nos abrirá una terminal.

Screenshot from 2022-06-29 16-40-13.png

Finalmente accedemos con el comando: su postgres -c psql.

Comentarios finales

  • Si deseas puedes definir o modificar las características del archivo docker-compose.yml, como por ejemplo la versión de postgres, la dirección de email o contraseñas más seguras 🧐.
  • Ten cuidado con la redirección de puertos, principalmente cuando tienes más de un contenedor iniciado.
  • Con la extension de Docker para VS Code puedes también iniciar, detener, reiniciar o remover contenedores. Te invito a investigarlo o revisar la documentación oficial: https://code.visualstudio.com/docs/containers/overview
Escribe tu comentario
+ 2
2
15460Puntos
2 años

En la configuración del archivo .yml , para que es el restart:always?

3
20101Puntos
2 años

Saludos, le indica a docker que si por algún motivo se cierra el proceso principal (que usa el contenedor), docker lo volverá a iniciar.
Por ejemplo cuando apagues o reinicies tu computadora, docker automáticamente volverá a iniciar el contenedor. Así entonces Postgres y pgAdmin siempre estarían encendidos.