Как использовать Netcat для проверки работоспособности контейнера postgresql docker - PullRequest
0 голосов
/ 30 марта 2020

Я хочу посмотреть, готов ли контейнер docker с PostgreSQL с помощью утилиты Netcat.

Моя точка входа. Сценарий sh не может обнаружить базу данных вверх и работает. Когда я вхожу в docker и запускаю N C в подробном режиме, я получаю

DNS fwd/rev mismatch: db != telegram_messages_db_1.telegram_messages_default

Что я делаю не так?

Мои настройки

точка входа. sh

echo "Waiting for postgres..."

while ! nc -z db 5432; do
  sleep 0.1
done

echo "PostgreSQL started"

docker -compose.yaml

version: '3.7'

services:

  messages:
    build:
      context: .
      dockerfile: Dockerfile
    entrypoint: ['/usr/src/app/entrypoint.sh']  # new
    volumes:
      - .:/usr/src/app
    ports:
      - 5001:5000
    environment:
      .....
    depends_on:
      - db

  db:
    build:
      context: ./backend/db
      dockerfile: Dockerfile
    expose:
      - 5432
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres      

docker -компонентный вывод

Attaching to telegram_messages_db_1, telegram_messages_messages_1
messages_1  | Waiting for postgres...
db_1        | 
db_1        | PostgreSQL Database directory appears to contain a database; Skipping initialization
db_1        | 
db_1        | 2020-03-29 23:55:22.103 UTC [1] LOG:  starting PostgreSQL 12.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 9.2.0) 9.2.0, 64-bit
db_1        | 2020-03-29 23:55:22.103 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
db_1        | 2020-03-29 23:55:22.104 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db_1        | 2020-03-29 23:55:22.115 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1        | 2020-03-29 23:55:22.170 UTC [20] LOG:  database system was shut down at 2020-03-29 23:46:56 UTC
db_1        | 2020-03-29 23:55:22.190 UTC [1] LOG:  database system is ready to accept connections

Также ...

Если я запускаю nc -z -v telegram_messages_db_1.telegram_messages_default 5432, я получаю хороший ответ :

telegram_messages_db_1.telegram_messages_default [172.19.0.2] 5432 (postgresql) open

1 Ответ

0 голосов
/ 31 марта 2020

Да, хорошо ... Удаление всех контейнеров, перезагрузка и сборка с нуля решили проблему.

Я оставлю это здесь для потомков.

¯_ (ツ) _ / ¯

...