testcontainers / testcontainers/testcontainers-java
[Containerd] IN_A_CONTAINER didn't set correctly in containers started up via containerd service
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 8.7k
- Fork
- 1.9k
- Merge medio
- 2g 17h
- PR unite (30g)
- 9
Descrizione
public static final boolean IN_A_CONTAINER = new File("/.dockerenv").exists();
testcontainers use '/.dockerenv' to decide if IN_A_CONTAINER is true or false.
But in the containers started by containerd, '/.dockerenv' does not exist, and it will lead to testcontainers to connect ryuk via localhost, and ryuk will failed to be connected.
Errors from maven log as below:
java.lang.IllegalStateException: Could not connect to Ryuk at localhost:49175
And the latest testcontainers 1.1.6.0 is used here.
Look forward to fixing for this.
Guida per i contributori
Apri 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.
Direzione di ricerca
Inizia individuando la dichiarazione di IN_A_CONTAINER e il codice che si connette a Ryuk. Riproduci il fallimento della connessione a localhost quando i container vengono avviati tramite containerd, quindi esamina i test esistenti del container-runtime, se disponibili. Il lavoro è completato quando i container avviati da containerd rilevano correttamente il proprio ambiente e la connessione a Ryuk riesce.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- docker, java
- Ambito
- devops, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100