J'utilise Docker sur mon PC pour exécuter Quantum GIS avec les instructions suivantes que j'ai trouvées ici: docker-qgis-desktop - Un simple conteneur de docker qui exécute QGIS Desktop
Tout fonctionnait bien jusqu'à la semaine dernière, lorsque j'ai commencé à recevoir ce message d'erreur:
Error response from daemon: Conflict. The name "qgis-desktop-2-4" is already in use by container 235566ae17b8. You have to delete (or rename) that container to be able to reuse that name.
Je ne suis pas tout à fait sûr de ce que cela signifie malgré la recherche d'indices sur ce site. Je n'avais rien changé avant que cela ne se produise et j'ai réussi à lancer le conteneur avec cette commande:
sudo docker run --rm --name="qgis-desktop-2-4" -i -t -v ${HOME}:/home/${USER} -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY kartoza/qgis-desktop:latest
Comment puis-je réparer cela?
groupadd: GID '0' already exists useradd: user 'root' already exists No protocol specified Warning: qgis.bin: cannot connect to X server unix:0.0
docker restart
, oudocker stop
&docker start
devrait vous aider.Au lieu de la commande:
docker run
Tu devrais utiliser:
parce que le conteneur existe déjà
Plus d'informations
la source
J'ai beaucoup d'erreur, alors maintenant je supprime par lots tous les conteneurs inutilisés à la fois:
ajouter
-f
pour forcer la suppression sans invite.Pour répertorier tous les conteneurs inutilisés (sans suppression):
Voir ici plus d'exemples comment élaguer d'autres objets (réseaux, volumes, etc.).
la source
Pour les personnes qui arrivent ici depuis Google comme moi et qui souhaitent simplement créer des conteneurs à l'aide de plusieurs fichiers docker-compose avec un service partagé:
Parfois, vous avez différents projets qui partageraient par exemple un conteneur de docker de base de données. Seule la première exécution doit démarrer le DB-Docker, la seconde doit détecter que la base de données est déjà en cours d'exécution et l'ignorer. Pour parvenir à un tel comportement, nous avons besoin que les Dockers se trouvent dans le même réseau et dans le même projet . Le nom du conteneur Docker doit également être le même.
1er: définir le même nom de réseau et de conteneur dans docker-compose
docker-compose dans le projet 1:
docker-compose dans le projet 2:
2ème: Définissez le même projet en utilisant
-p
param ou placez les deux fichiers dans le même répertoire.docker-compose -p {projectname} up
la source