Как подключиться к контейнеру cockroachdb из другого контейнера с помощью docker-compose? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытался имитировать [MySQL way] [1], чтобы сделать это, но у меня не получилось. Я также попробовал несколько вариантов, начиная от: добавления сетевого интерфейса к явному указанию IP контейнера, ни один из них не работает (так как IP контейнера всегда менялся).

Сообщение об ошибке:

"could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket \"/tmp/.s.PGSQL.5432\"
}

Это мой код:

Мое приложение для колб:

connection = psycopg2.connect(
    database=os.environ.get("DB_NAME"),
    user=os.environ.get("DB_USER"),
    password=os.environ.get("DB_PASSWORD"),
    sslmode=os.environ.get("DB_SSL"),
    host=os.environ.get("DB_HOST"),
    port=os.environ.get("DB_PORT"),
)

Мой файл для создания докеров:

version: '3'
services:
    flask-api:
        image: flask-api:0.7.0
        ports:
            - '5000:5000'
        environment:
            - DB_NAME = knotdb
            - DB_HOST = roach1
            - DB_PORT = 26257
            - DB_USER = root
            - DB_SSL = disable
        links:
            - roach1
    roach1:
        image: cockroachdb/cockroach:v1.1.3
        command: start --insecure --host=127.0.0.1
        ports:
          - "26257:26257"
        volumes:
          - ./cockroach-data/roach1:/cockroach/cockroach-data

Другие мои различные попытки:

# adding network to both service : didn't work

# using ip instead of alias: didn't work
links:
  - roach1:127.0.0.1

1: Как обрабатывать IP-адреса при связывании контейнеров Docker друг с другом с помощью docker-compose?

...