Încerc să conectez un server local postgreSQL (nume bază de date = cvat_lcl) la un container creat folosind docker-compose: CVAT. Pot să folosesc pgAdmin local pentru a citi baza de date obișnuită găzduită în container (pe portul 5444), dar scopul final pentru implementarea mea este să rulez o versiune locală de postgresql și să se conecteze containerul CVAT la acesta față de cel construit. în baza de date. Sunt un începător în domeniul rețelelor, așa că nu sunt prea sigur de unde să încep.
Ce am facut pana acum:
pg_hba.conf
:
# Conectare administrativă a bazei de date prin socket de domeniu Unix
local all postgres peer
# TIP METODA ADRESĂ UTILIZATORULUI BAZ DE DATE
# „local” este doar pentru conexiunile socket de domeniu Unix
locale toate toate peer
# Conexiuni locale IPv4:
găzduiește toate toate 127.0.0.1/32 md5
# Conexiuni locale IPv6:
gazduieste toate toate ::1/128 md5
# Permite conexiuni de replicare de la localhost, de către un utilizator cu
# privilegiu de replicare.
replicare locală toate peer
replicarea gazdei toate 127.0.0.1/32 md5
replicarea gazdei toate ::1/128 md5
gazduieste toate toate 172.17.0.0/16 md5
postgres.conf
# - Setări de conectare -
listen_addresses = '*' # pe ce adresă(e) IP să ascultați;
# listă de adrese separate prin virgulă;
# implicit este „localhost”; folosiți „*” pentru toți
# (modificarea necesită repornirea)
port = 5433 # (modificarea necesită repornirea)
ifconfig -a
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 difuzare 172.17.255.255
inet6 fe80::42:c0ff:fe03:86ac prefixlen 64 scopeid 0x20<link>
ether 02:42:c0:03:86:ac txqueuelen 0 (Ethernet)
Pachete RX 0 octeți 0 (0,0 B)
Erori RX 0 a scăzut 0 depășiri 0 cadru 0
Pachete TX 4372 octeți 873445 (873,4 KB)
Erori TX 0 a scăzut 0 depășiri 0 purtător 0 coliziuni 0
docker-compose.yml
versiunea: „3.3”
Servicii:
cvat_db:
container_name: cvat_db
imagine: postgres:10-alpin
reporniți: întotdeauna
mediu inconjurator:
POSTGRES_USER: rădăcină
POSTGRES_DB: cvat
POSTGRES_HOST_AUTH_METHOD: încredere
volume:
- cvat_db:/var/lib/postgresql/data
retele:
- cvat
porturi:
- „5444:5432”
cvat_redis:
container_name: cvat_redis
imagine: redis:4.0-alpin
reporniți: întotdeauna
retele:
- cvat
cvat:
container_name: cvat
imagine: openvino/cvat_server
reporniți: întotdeauna
depinde de:
- cvat_redis
- cvat_db
mediu inconjurator:
DJANGO_MODWSGI_EXTRA_ARGS: ''
ALLOWED_HOSTS: „*”
CVAT_REDIS_HOST: „cvat_redis”
CVAT_POSTGRES_HOST: „cvat_db”
ADAPTIVE_AUTO_ANNOTATION: „fals”
etichete:
- traefik.enable=true
- traefik.http.services.cvat.loadbalancer.server.port=8080
- traefik.http.routers.cvat.rule=Host(`${CVAT_HOST:-localhost}`) &&
PathPrefix(`/api/`, `/git/`, `/opencv/`, `/analytics/`, `/static/`, `/admin`, `/documentation/`, `/django-rq`)
- traefik.http.routers.cvat.entrypoints=web
volume:
- cvat_data:/home/django/data
- cvat_keys:/home/django/keys
- cvat_logs:/home/django/logs
retele:
- cvat
cvat_ui:
container_name: cvat_ui
imagine: openvino/cvat_ui
reporniți: întotdeauna
depinde de:
- cvat
etichete:
- traefik.enable=true
- traefik.http.services.cvat-ui.loadbalancer.server.port=80
- traefik.http.routers.cvat-ui.rule=Host(`${CVAT_HOST:-localhost}`)
- traefik.http.routers.cvat-ui.entrypoints=web
retele:
- cvat
traefik:
imagine: traefik:v2.4
container_name: traefik
comanda:
- „--providers.docker.exposedByDefault=false”
- „--providers.docker.network=cvat”
- „--entryPoints.web.address=:8999”
# Anulați comentariile pentru a obține tabloul de bord Traefik
# - „--entryPoints.dashboard.address=:8090”
# - "--api.dashboard=true"
# etichete:
# - traefik.enable=true
# - traefik.http.routers.dashboard.entrypoints=tabloul de bord
# - traefik.http.routers.dashboard.service=api@internal
# - traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)
porturi:
- 8999:8999
- 8090:8090
volume:
- /var/run/docker.sock:/var/run/docker.sock:ro
retele:
- cvat
volume:
cvat_db:
date_cvat:
cvat_keys:
cvat_logs:
retele:
cvat:
În rezumat - scopul este să te conectezi la cvat_lcl baza de date (pe localhost) în containerul CVAT. CVAT rulează în prezent pe Linux 20.04 LTS. Multumesc anticipat pentru ajutor.