testcontainers / testcontainers/testcontainers-python

Clickhouse container exposing ports setup is strange

Aperta
#257 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

✅ close on merge 📦 package: clickhouse
Lingua principale
Python
Stelle
2.3k
Fork
386
Merge medio
4h 40m
PR unite (30g)
1

Descrizione

When we use Clickhouse, we can use 2 kind of ports: 9000 and 8123.
Also different awesome libs work

  • with just 9000
  • with just 8123
  • with both 8123 and 9000 ports

Problem in that: i can use 8123 port or 9000, but can't proper expose it (for example outside port must be 66612) because exposing port seted auto and than no overrided by with_bind_ports(). Also it can be needed to expose 1823 and 9000 together.

ch_container = ClickHouseContainer(image='clickhouse/clickhouse-server:22.6.4', port=8123)
ch_container.with_bind_ports(8123, 66612)
db = ch_container.start() <- started and expose 8123 port to random port 69112 (not 66612)
print(ch.get_connection_url()) <- gives url with port 69112 (not 66612)

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando la configurazione delle porte di ClickHouseContainer e il comportamento di with_bind_ports() descritto nell’issue. Verifica in che modo i binding espliciti per la porta 8123, la porta 9000 o entrambe influenzano il container avviato e get_connection_url(); il lavoro è completato quando le porte host richieste vengono rispettate e l’URL riporta la porta mappata corretta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
clickhouse, docker, python
Ambito
database
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
40/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.