Docker-in-docker allow two devcontainers' sub-containers to speak
I maintainer di solito rispondono entro 5 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- docker, docker-compose
- Ambito
- devops, networking
Direzione di ricerca
Inizia leggendo la documentazione delle funzionalità docker-in-docker e docker-outside-of-docker, quindi esamina le due configurazioni devcontainer.json e i relativi file docker-compose.yaml. Riproduci le due configurazioni di rete annidate e verifica se i container riescono a risolvere o raggiungere l’altro devcontainer; il lavoro è completato quando il container frontend può raggiungere il backend sulla porta 8080 senza impostazioni di rete incorporate specifiche del progetto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'm using the docker-in-docker feature to spin up some containers specific to a project, from within a dev container. I have two projects (frontend and backend) both in separate dev containers both using docker-in-docker and in both of them, I have a docker-compose.yaml file that defines how each service is run (there's databases etc).
flowchart LR
subgraph My Machine
A[VSCode]
end
A-->|SSH| B[VSCode Remote Host w/Docker]
B --> C["DevContainer (Frontend)<br>D-in-D<br>172.17.0.2"] --> C1["Container<br>(Frontend :3000)<br>172.18.0.2"]
B --> D["DevContainer (Backend)<br>D-in-D<br>172.17.0.3"] --> D1["Container<br>(Backend :8080)<br>172.18.0.2"]
D1--> D2[DB Container A]
D1--> D3[DB Container B]
How can I have the container running the frontend, get to the container running the backend (port 8080)? For context it's a Nuxt SSR application, so it has its own "server" process meaning the container (not my local browser) needs to see the backend.
I've tried docker-outside-of-docker but vscode seems to not care about the ports, and let me get to them locally (i.e. open my browser for the frontend) as they don't start "inside the devcontainer" so it can't see them. With docker-in-docker, the ports (3000 and 8080) are detected by VSCode, and I can get to them in my browser.
It seems that the devcontainer's IP address exposes the ports, which I can use in the child containers to directly reference the other devcontainer however this would require baking in some network config to the devcontainer.json which I'm attempting to avoid (might be unavoidable at this point). In the diagram above that is requesting http://172.17.0.3:8080 from within the frontend container. Both child containers' networks seem isolated from each other (same IP, different container) but I can't seem to give them an IP on the 172.17.x.x subnet. DNS resolution also doesn't work.
Thanks in advance 😄
- Lingua principale
- Shell
- Stelle
- 1.5k
- Fork
- 624
- Merge medio
- 4g 8h
- PR unite (30g)
- 7
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né 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 devcontainers/features
-
use mise for java feature installation or make sdkman configuable to download JDK from mirrosAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
devcontainers/features#1730 ·
I maintainer di solito rispondono entro 5 giorni
-
Version resolution over unauthenticated git makes feature installs fail hard, with no fallbackForse già presa @v-Kaniska244 l’ha presa 37 giorni fa. Aperta
devcontainers/features#1726 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 5 giorni
-
[docker-in-docker] v4 with iptablesSwitchAtRuntime:true default on Ubuntu 26.04 host/devcontainer image activates iptables-legacy instead of iptables-nftForse di nuovo libera @v-Kaniska244 l’ha presa 55 giorni fa e non c’è nessuna pull request aperta. Aperta
devcontainers/features#1709 · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
devcontainers/features#1707 ·
I maintainer di solito rispondono entro 5 giorni
-
Parser failure on "localEnv:" in devcontainer-feature.jsonForse di nuovo libera @v-Kaniska244 l’ha presa 70 giorni fa e non c’è nessuna pull request aperta. Aperta
devcontainers/features#1704 · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 5 giorni
Tutte le issue di devcontainers/features
Issue simili
-
e2e-failure ready-to-code
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
redhat-developer/rhdh-plugin-export-overlays#4391 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
graygarbage/HermesKey#20 ·
-
review-bot
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
midagedev/bloomery#151 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
mattpocock/skills#1269 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 2 giorni