Executando verificação de segurança...
2

Via windows eu não sei exatamente se roda todas as imagens (acredito que sim). Mas no macOS constumo utilizar via docker run mesmo para desenvolvimento.

docker run -d \                   
        --name postgres \
        -p 5432:5432 \
        -v ~/apps/postgres:/var/lib/postgresql/data \
        -e POSTGRES_PASSWORD=docker \
        -e POSTGRES_USER=docker \
        -e POSTGRES_DB=expenses_tracker \
         postgres:14-alpine

--name = nome que você quer identificar quando rodar o docker ps ou docker ps -a.
-p = porta a primeira é do container a segunda é a que sua máquina vai identificar.
-v = é onde você quer salvar dentro do container as informações (volumes).
-e = variáveis de ambiente, que no caso do postgress existe essas entre muitas outras.
postgres:14-alpine é a imagem que eu escolhi, geralmente as que possuem alpine são menores, mas entrega praticamente 100% do que é preciso.

Já no docker compose geralmente utilizado isso

version: '3.8'
services:
  db:
    image: postgres:14-alpine # imagem a ser utilizada
    restart: always # reinicia automáticamente quando acontece algum erro
    environment: # o -e do docker run supracitado
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    ports:
      - '5432:5432'
    volumes: 
      - db:/var/lib/postgresql/data
volumes:
  db:
    driver: local

Neste site você consegue ter mais informações: https://geshan.com.np/blog/2021/12/docker-postgres/

Carregando publicação patrocinada...