devcontainers / devcontainers/spec

Clarity on how docker compose based devcontainers are built

Ouverte
#331 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.