Docker Postgres PGAdmin4 MacOS - pgadmin4 не показывает данные тома docker Postgres после перезапуска - PullRequest
0 голосов
/ 17 марта 2020

Мне недавно пришлось перезагружать мой компьютер, поэтому я отключил мой docker контейнер и соединения с сервером. После перезапуска PGAdmin4 больше не отображает данные тома docker, однако мое приложение все еще может получить доступ к данным тома docker. Я могу войти в свою базу данных как пользователь postgres, хотя в базе данных нет таблиц. PGAdmin4 на 5050: 5050, Postgres на 5432: 5432, приложение на 5000: 5000. Я могу войти в базу данных через PGAdmin, пока контейнер находится в режиме паузы, чего раньше не было, и мне трудно понять, почему.

У меня есть docker -композитный файл, например Итак:

version: "3.7"
services:

  postgres:
    container_name: postgres
    restart: always
    image: postgres:12.2
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB}
    volumes:
      - flask-app-db:/var/lib/postgresql/data
    ports:
      - 5432:5432
    networks:
      - pgnetwork

  pgadmin4:
    container_name: pgadmin4
    restart: always
    image: dpage/pgadmin4
    environment:
      - PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}
      - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}
      - SERVER_PORT=${SERVER_PORT}
    volumes:
      - pga4:/var/lib/pgadmin
    ports:
      - 5050:5050
    networks:
      - pgnetwork

  dplio:
    container_name: dplio
    restart: always
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      # MY_ENV_VARS
    ports:
      - 5000:5000
    volumes:
      - .:/dplio
    networks:
      - pgnetwork
    depends_on:
      - postgres

networks:
  pgnetwork:
    driver: bridge

volumes:
  flask-app-db:
    name: flask-app-db
  pga4:
    name: pga4

Мой вывод терминала при запуске контейнеров:

Starting postgres ... done
Starting pgadmin4 ... done
Starting dplio    ... done
Attaching to pgadmin4, postgres, dplio
postgres    | 
postgres    | PostgreSQL Database directory appears to contain a database; Skipping initialization
postgres    | 
postgres    | 2020-03-17 11:18:55.599 UTC [1] LOG:  starting PostgreSQL 12.2 (Debian 12.2-2.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
postgres    | 2020-03-17 11:18:55.599 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
postgres    | 2020-03-17 11:18:55.600 UTC [1] LOG:  listening on IPv6 address "::", port 5432
postgres    | 2020-03-17 11:18:55.604 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres    | 2020-03-17 11:18:55.619 UTC [26] LOG:  database system was shut down at 2020-03-17 10:41:43 UTC
postgres    | 2020-03-17 11:18:55.623 UTC [1] LOG:  database system is ready to accept connections
pgadmin4    | [2020-03-17 11:18:56 +0000] [1] [INFO] Starting gunicorn 19.9.0
pgadmin4    | [2020-03-17 11:18:56 +0000] [1] [INFO] Listening at: http://[::]:80 (1)
pgadmin4    | [2020-03-17 11:18:56 +0000] [1] [INFO] Using worker: threads
pgadmin4    | [2020-03-17 11:18:56 +0000] [80] [INFO] Booting worker with pid: 80
dplio       |  * Serving Flask app "app" (lazy loading)
dplio       |  * Environment: docker
dplio       |  * Debug mode: on
dplio       |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
dplio       |  * Restarting with stat
dplio       |  * Debugger is active!
dplio       |  * Debugger PIN: 209-285-043

Я подумал попробовать pg_restore с тома docker на хост, но это не похоже в качестве потенциального решения, я думаю, это проблема соединения между контейнером docker и моим хост-компьютером, а не проблема потери данных.

Я установил порт PGAdmin4 на 5050 в браузере, хотя он работал нормально без этого до перезапуска.

Я пытался посетить http://localhost: 5050 /? ключ = xxxxxxx http://0.0.0.0: 5050 /? ключ = xxxxxxx и http://1270.0.0.1: 5050 /? Key = xxxxxxx , ключ взят из ~ / .pgAdmin4.XXXXXXXXXXXXXXXXXXXXXXXX.addr та же проблема.

Я попытался удалить образ приложения docker и восстановить его Тоже.

Может кто-нибудь дать мне знать, что мне не хватает? Шаг за шагом отключение соединений сервера / контейнера / сети и перезапуск будет очень полезным!

Если вам нужна дополнительная информация, дайте мне знать.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...