Accept an in-memory Compose definition
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 57/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- docker, docker-compose, typescript
Línea de trabajo
Start with packages/testcontainers/src/docker-compose-environment/docker-compose-environment.ts and the compose client files under packages/testcontainers/src/container-runtime/clients/compose/; trace how file paths reach the Compose command. Check how the client could pass a definition through -f -, and how a base directory would support relative paths. Done means callers can provide YAML text or an object and the resulting environment behaves like the file based version.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
new DockerComposeEnvironment(composeFilePath, composeFiles) needs compose files on disk. A test that wants to vary the definition (an image tag from a variable, an optional service, a generated port) has to write a temporary file and clean it up.
Expected
A Compose environment can be created from a definition held in memory, as YAML text or as an object:
await DockerComposeEnvironment.fromDefinition({
services: {
redis: { image: `redis:${version}`, ports: ["6379"] },
},
}).up();
Everything else behaves as it does for a file.
Where
packages/testcontainers/src/docker-compose-environment/docker-compose-environment.tspackages/testcontainers/src/container-runtime/clients/compose/
Notes
- Go has
WithStackReaders(readers...)next toWithStackFiles(files...). - Compose reads a definition from standard input with
-f -, which avoids a temporary file if the client wrapper allows it. - Relative paths inside the definition need a base directory.
Dependencies
- Nothing blocks this. It can start now.
- Coordinate with #1561, #1540: all three change
DockerComposeEnvironment's constructor or lookup.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.6k
- Forks
- 274
- Merge medio
- 1 d 14 h
- PR fusionados (30 d)
- 44
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de testcontainers/testcontainers-node
-
enhancement minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
testcontainers/testcontainers-node#1539 ·
Los mantenedores suelen responder en 1 día
-
enhancement minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
testcontainers/testcontainers-node#1533 ·
Los mantenedores suelen responder en 1 día
-
enhancement minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
testcontainers/testcontainers-node#1531 ·
Los mantenedores suelen responder en 1 día
-
enhancement minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
testcontainers/testcontainers-node#1529 ·
Los mantenedores suelen responder en 1 día
-
enhancement minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
testcontainers/testcontainers-node#1528 ·
Los mantenedores suelen responder en 1 día
Todos los issues de testcontainers/testcontainers-node
Issues similares
-
priority:high
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
immich-app/immich#32426 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue hacktoberfest help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
libredb/libredb-studio#1756 ·
Los mantenedores suelen responder en 1 día
-
state:triage-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día