devcontainers / devcontainers/features

The PHP feature has a very bad performance (in GitHub Codespaces)

Ouverte
#672 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Shell
Étoiles
1.5k
Forks
621
Merge moyen
6 j 53 min
PR mergées (30 j)
9

Description

I can use this e.g. as the image: `mcr.microsoft.com/devcontainers/php`

In GitHub Codespaces that results in _that_:
![grafik](https://github.com/devcontainers/templates/assets/11966684/745c9139-1dc5-41e5-b76b-05183ac69245)

It is slow, very slow, because – I guess – it _literally_ compiles PHP – given [it depends on the official PHP docker container](https://github.com/devcontainers/images/blob/992d14db469202201020633827c2eb8857ba3ea7/src/php/.devcontainer/Dockerfile#L3) and they famously compile Docker from scratch there.

I just wonder why nothing is cached? Afterall, it should not build for minutes and these basic images should be cached.
For "quick development", which GitHub Codespaces is aimed at, that is a no-go.

This is my full `.devcontainer` file:
```json
{
"name": "PHP",
"image": "mcr.microsoft.com/devcontainers/php",
"customizations": {
"vscode": {
"extensions": [
"github.codespaces",
"DEVSENSE.phptools-vscode",
"EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint",
"raymondcamden.CSSLint",
"DEVSENSE.composer-php-vscode"
]
},
"codespaces": {
"repositories": {
"PrivateBin/*": {
"permissions": {
"pull_requests": "write"
}
}
}
}
},
"forwardPorts": [
8080
],
"features": {
"ghcr.io/devcontainers/features/php:1": {
"installComposer": true,
"version": "latest"
}
},
"postCreateCommand": "sudo chmod a+x \"$(pwd)\" && sudo rm -rf /var/www/html && sudo ln -s \"$(pwd)\" /var/www/html",
"postStartCommand": "apache2ctl start"
}
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le problème à l’aide de la configuration .devcontainer fournie et de l’image mcr.microsoft.com/devcontainers/php. Comparez l’installation de la feature PHP avec le Dockerfile devcontainers/images lié, en vous concentrant sur la raison pour laquelle le travail lié à PHP est reconstruit au lieu d’être récupéré du cache. Le travail est considéré comme terminé lorsque la cause est identifiée et que la configuration de Codespaces ne prend plus plusieurs minutes avant d’être utilisable.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
docker, github, php
Domaine
cloud, devops, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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