Expose host ports per container instead of globally
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 54/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- docker, node.js, typescript
Direzione di ricerca
Read start and startContainer in packages/testcontainers/src/generic-container/generic-container.ts, then trace host access through packages/testcontainers/src/port-forwarder/port-forwarder.ts and packages/testcontainers/src/test-containers.ts. Check how the request affects reuse hashing and coordinate with #1520 and #1522. Done means a container can opt in with withExposedHostPorts(...ports), unrequested containers stay unaffected, and the existing global call continues to work.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
TestContainers.exposeHostPorts(...ports) is global and permanent. Once it has been called, every container started afterwards in the process:
- is connected to the port forwarder's network, in addition to its own
- gets a
host.testcontainers.internalentry in its extra hosts
whether or not it needs to reach the host. A container cannot opt out, and exposure cannot be scoped to one test. The extra network shows up in getNetworkNames().
Expected
Host access is requested per container, for example withExposedHostPorts(...ports). Containers that did not ask are left alone. The global call keeps working.
Where
startandstartContainerinpackages/testcontainers/src/generic-container/generic-container.tspackages/testcontainers/src/port-forwarder/port-forwarder.tspackages/testcontainers/src/test-containers.ts
Notes
- Java keeps the global
Testcontainers.exposeHostPorts(...)and makes containers opt in withwithAccessToHost(true). Go'sWithHostPortAccess(ports...)is per container. - Related: #1188.
- Changing the global call so that containers no longer get host access by default would be
major. Adding the per-container form isminor.
Dependencies
- Stack on #1520: the host-access wiring is in
start(), where it is one of the things that accumulates. - Coordinate with #1522: host access changes the create request, so it affects the reuse hash.
- Lingua principale
- TypeScript
- Stelle
- 2.6k
- Fork
- 274
- Merge medio
- 1g 14h
- PR unite (30g)
- 44
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di testcontainers/testcontainers-node
-
enhancement minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
testcontainers/testcontainers-node#1539 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
testcontainers/testcontainers-node#1533 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
testcontainers/testcontainers-node#1531 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
testcontainers/testcontainers-node#1529 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
testcontainers/testcontainers-node#1528 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di testcontainers/testcontainers-node
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
apache/rocketmq-dashboard#6610 ·
I maintainer di solito rispondono entro 3 giorni
-
nextjs-tracking
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
cloudflare/vinext#3920 ·
I maintainer di solito rispondono entro 1 giorno
-
Team:Dashboards
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
elastic/kibana#297299 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
analytics beginner friendly community contributions-welcome good first issue hacktoberfest help wanted up-for-grabs
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
affected/v17 affected/v18 area/frontend type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
umbraco/Umbraco-CMS#24186 ·
I maintainer di solito rispondono entro 2 giorni