Peut-être que votre utilisation n'est pas très correcte
D'une manière générale, un conteneur ne doit exécuter qu'un seul service. Dans ce cas, il semble étrange d'installer un nouveau logiciel dans un conteneur puis de le valider
Vous pouvez créer une image de base, et tout le reste est construit sur cette image de base
Ensuite, docker-compose et dockerfile vous permettent essentiellement de gérer facilement les conteneurs et les images (plusieurs versions du même fichier docker seront mises en cache en tant qu'images), vous pouvez donc en ajouter davantage à votre image de base. Écrivez plusieurs fichiers docker, chaque fichier docker uniquement. installe un service dont vous avez besoin
La capture d'écran est mon docker-compose.yml Lors de l'exécution, il est très clair qu'il y a un service et un conteneur
S'il est toujours difficile d'utiliser
-p
pour mapper les ports lors de l'exécution, vous pouvez l'écrire dans DockerfileVous pouvez écrire la commande d'exécution sous forme de fichier shell, puis exécuter ce fichier directement. Pas besoin d'écrire à chaque fois.
Peut-être que votre utilisation n'est pas très correcte
D'une manière générale, un conteneur ne doit exécuter qu'un seul service. Dans ce cas, il semble étrange d'installer un nouveau logiciel dans un conteneur puis de le valider
Vous pouvez créer une image de base, et tout le reste est construit sur cette image de base
Ensuite, docker-compose et dockerfile vous permettent essentiellement de gérer facilement les conteneurs et les images (plusieurs versions du même fichier docker seront mises en cache en tant qu'images), vous pouvez donc en ajouter davantage à votre image de base. Écrivez plusieurs fichiers docker, chaque fichier docker uniquement. installe un service dont vous avez besoin
La capture d'écran est mon docker-compose.yml Lors de l'exécution, il est très clair qu'il y a un service et un conteneur
.