images hub has forced dependent child cannot linux ubuntu docker

linux - hub - Respuesta de error de Docker del daemon: "Conflicto... ya está en uso por contenedor"



(cannot be forced)-image has dependent child images (2)

He estado usando Docker en mi para ejecutar Quantum GIS siguiendo las instrucciones que encontré aquí: docker-qgis-desktop: un contenedor Docker simple que ejecuta el escritorio QGIS

Todo ha estado funcionando bien hasta la semana pasada cuando comencé a recibir este mensaje de error:

Respuesta de error del demonio: Conflicto. El nombre "qgis-desktop-2-4" ya está en uso en el contenedor 235566ae17b8. Debe eliminar (o renombrar) ese contenedor para poder reutilizar ese nombre.

No estoy completamente seguro de lo que esto significa a pesar de buscar pistas en este sitio. No había cambiado nada antes de que esto sucediera y he estado iniciando con éxito el contenedor con este comando:

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

¿Cómo puedo arreglar esto?


Para las personas que llegan aquí desde Google como yo y solo quieren construir contenedores usando múltiples archivos de composición acoplable con un servicio compartido:

A veces tiene diferentes proyectos que compartirían, por ejemplo, un contenedor de base de datos. Solo la primera ejecución debe iniciar DB-Docker, la segunda debe detectar que la base de datos ya se está ejecutando y omitir esto. Para lograr ese comportamiento, necesitamos que los Dockers se instalen en la misma red y en el mismo proyecto . Además, el nombre del contenedor docker debe ser el mismo.

Primero: establezca el mismo nombre de red y contenedor en docker-compose

docker-compose en el proyecto 1:

version: ''3'' services: service1: depends_on: - postgres # ... networks: - dockernet postgres: container_name: project_postgres image: postgres:10-alpine restart: always # ... networks: - dockernet networks: dockernet:

docker-compose en el proyecto 2:

version: ''3'' services: service2: depends_on: - postgres # ... networks: - dockernet postgres: container_name: project_postgres image: postgres:10-alpine restart: always # ... networks: - dockernet networks: dockernet:

2º: Configure el mismo proyecto usando -p param o coloque ambos archivos en el mismo directorio.

docker-compose -p {projectname} up


Parece que ya existe un contenedor con el nombre qgis-desktop-2-4 en el sistema. Puede verificar el resultado del siguiente comando para confirmar si realmente existe:

$ docker ps -a

La última columna en la salida del comando anterior es para nombres.

Si el contenedor existe, retírelo usando:

$ docker rm qgis-desktop-2-4

O usando con fuerza,

$ docker rm -f qgis-desktop-2-4

Y luego intente crear un nuevo contenedor.