devcontainers / devcontainers/spec
Clarity on how docker compose based devcontainers are built
- Langage dominant
- Aucune donnée de langage
- Étoiles
- 5.7k
- Forks
- 496
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
The spec does not provide clarity on how to specify the build context for a Docker compose build. Considering the following project structure
```
| .devcontainer
| devcontainer.json
| docker-compose.yml
| Dockerfile
| requirements.txt
```
How should I specify the build context? This is a sample repository: https://github.com/amitds1997/devpod-cache-issue.
Reference `devcontainer.json`:
```json
{
"name": "Debug service",
"dockerComposeFile": "../docker-compose.yml",
"service": "main-app",
"workspaceFolder": "/root",
"shutdownAction": "stopCompose",
}
```
Should it be specified as:
1. In `.devcontainer.json` file, or
```json
{
"build": {
"context": ".."
},
}
```
2. In `docker-compose.yml` file (to indicate that it is one directory above from `devcontainer.json` file where it is used)
```yaml
version: '3'
services:
main-app:
build:
context: ..
restart: always
ports:
- "5003:5000"
command: python -m http.server 5000
```
3. Or, should it be assumed to be running from the `docker-compose.yml`'s directory?
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par lire les indications de la spécification concernant dockerComposeFile ainsi que la section build des fichiers devcontainer.json et docker-compose.yml référencés. Comparez les trois interprétations possibles du contexte de build avec le dépôt d’exemple, puis documentez une règle normative accompagnée d’un exemple ; le travail est terminé lorsque la spécification élimine l’ambiguïté pour cette structure de projet.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker-compose, dockerfile
- Domaine
- devops, documentation
- Type d'issue
- Documentation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100