ฉันกำลังพยายามเชื่อมต่อเซิร์ฟเวอร์ postgreSQL ในเครื่อง (ชื่อฐานข้อมูล = cvat_lcl) กับคอนเทนเนอร์ที่สร้างขึ้นโดยใช้นักเทียบท่า-เขียน: ภาษีมูลค่าเพิ่ม. ฉันสามารถใช้ pgAdmin ในเครื่องเพื่ออ่านฐานข้อมูลปกติที่โฮสต์ภายในคอนเทนเนอร์ (บนพอร์ต 5444) แต่เป้าหมายสุดท้ายสำหรับการปรับใช้ของฉันคือการเรียกใช้ postgresql เวอร์ชันในเครื่องและให้คอนเทนเนอร์ CVAT เชื่อมต่อกับสิ่งนั้นกับที่สร้างขึ้น ในฐานข้อมูล ฉันเป็นมือใหม่เกี่ยวกับการสร้างเครือข่าย จึงไม่แน่ใจว่าจะเริ่มต้นจากตรงไหนดี
สิ่งที่ฉันได้ทำไปแล้ว:
pg_hba.conf
:
# เข้าสู่ระบบการดูแลระบบฐานข้อมูลโดยซ็อกเก็ตโดเมน Unix
เพียร์ postgres ท้องถิ่นทั้งหมด
# ประเภทฐานข้อมูลผู้ใช้ที่อยู่วิธี
# "local" ใช้สำหรับการเชื่อมต่อซ็อกเก็ตโดเมน Unix เท่านั้น
ท้องถิ่นทั้งหมดเพื่อนทั้งหมด
# การเชื่อมต่อภายใน IPv4:
โฮสต์ทั้งหมด 127.0.0.1/32 md5 ทั้งหมด
# การเชื่อมต่อภายใน IPv6:
โฮสต์ทั้งหมด ::1/128 md5
# อนุญาตการเชื่อมต่อการจำลองแบบจาก localhost โดยผู้ใช้ที่มี
#สิทธิพิเศษในการจำลอง
การจำลองแบบโลคัลทั้งหมด
การจำลองแบบโฮสต์ทั้งหมด 127.0.0.1/32 md5
การจำลองแบบโฮสต์ทั้งหมด ::1/128 md5
โฮสต์ทั้งหมด 172.17.0.0/16 md5 ทั้งหมด
postgres.conf
# - การตั้งค่าการเชื่อมต่อ -
Listen_addresses = '*' # ที่อยู่ IP ใดที่จะฟัง;
# รายการที่คั่นด้วยเครื่องหมายจุลภาค;
# ค่าเริ่มต้นเป็น 'localhost'; ใช้ '*' สำหรับทั้งหมด
# (การเปลี่ยนแปลงต้องเริ่มต้นใหม่)
พอร์ต = 5433 # (การเปลี่ยนแปลงต้องรีสตาร์ท)
ifconfig -a
นักเทียบท่า 0: ค่าสถานะ = 4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 ออกอากาศ 172.17.255.255
inet6 fe80::42:c0ff:fe03:86ac คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ 02:42:c0:03:86:ac txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 4372 ไบต์ 873445 (873.4 KB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
นักเทียบท่า-compose.yml
รุ่น: '3.3'
บริการ:
cvat_db:
ชื่อคอนเทนเนอร์: cvat_db
ภาพ: postgres:10-alpine
รีสตาร์ท: เสมอ
สิ่งแวดล้อม:
POSTGRES_USER: รูท
POSTGRES_DB: cvat
POSTGRES_HOST_AUTH_METHOD: ไว้วางใจ
ปริมาณ:
- cvat_db:/var/lib/postgresql/data
เครือข่าย:
- ประวัติย่อ
พอร์ต:
- "5444:5432"
cvat_redis:
ชื่อคอนเทนเนอร์: cvat_redis
ภาพ: redis:4.0-alpine
รีสตาร์ท: เสมอ
เครือข่าย:
- ประวัติย่อ
ประวัติ:
ชื่อคอนเทนเนอร์: cvat
รูปภาพ: openvino/cvat_server
รีสตาร์ท: เสมอ
ขึ้นอยู่กับ:
-cvat_redis
-cvat_db
สิ่งแวดล้อม:
DJANGO_MODWSGI_EXTRA_ARGS: ''
ALLOWED_HOSTS: '*'
CVAT_REDIS_HOST: 'cvat_redis'
CVAT_POSTGRES_HOST: 'cvat_db'
ADAPTIVE_AUTO_ANNOTATION: 'เท็จ'
ป้ายกำกับ:
- traefik.enable=จริง
- 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=เว็บ
ปริมาณ:
- cvat_data:/home/django/data
- cvat_keys:/home/django/keys
- cvat_logs:/home/django/logs
เครือข่าย:
- ประวัติย่อ
cvat_ui:
ชื่อคอนเทนเนอร์: cvat_ui
ภาพ: openvino/cvat_ui
รีสตาร์ท: เสมอ
ขึ้นอยู่กับ:
- ประวัติย่อ
ป้ายกำกับ:
- traefik.enable=จริง
- 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
เครือข่าย:
- ประวัติย่อ
เทรฟิค:
ภาพ: traefik:v2.4
ชื่อคอนเทนเนอร์: traefik
สั่งการ:
- "--providers.docker.exposedByDefault=false"
- "--providers.docker.network=cvat"
- "--entryPoints.web.address=:8999"
# เลิกแสดงความคิดเห็นเพื่อรับแดชบอร์ด Traefik
# - "--entryPoints.dashboard.address=:8090"
# - "--api.dashboard=true"
# ป้ายกำกับ:
# - traefik.enable=จริง
# - traefik.http.routers.dashboard.entrypoints=แดชบอร์ด
# - traefik.http.routers.dashboard.service=api@internal
# - traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)
พอร์ต:
- 8999:8999
- 8090:8090
ปริมาณ:
- /var/run/docker.sock:/var/run/docker.sock:ro
เครือข่าย:
- ประวัติย่อ
ปริมาณ:
cvat_db:
cvat_data:
cvat_keys:
cvat_logs:
เครือข่าย:
ประวัติ:
โดยสรุป - เป้าหมายคือการเชื่อมต่อ cvat_lcl ฐานข้อมูล (บน localhost) ในคอนเทนเนอร์ CVAT ขณะนี้ CVAT กำลังทำงานบน Linux 20.04 LTS ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ