Estoy tratando de usar $ docker-compose up -d
para un proyecto y recibo este mensaje de error:
ERROR: para api No se puede iniciar el servicio API: controlador no pudo programar la conectividad externa en dataexploration_api_1 punto final (8781c95937a0a4b0b8da233376f71d2fc135f46aad011401c019eb3d14a0b117): Error al iniciar el entorno de usuario de proxy: mkdir /port/tcp:0.0.0.0:9000:tcp:172.19.0.2:80: error de entrada / salida Se encontraron errores al abrir el proyecto.
Me pregunto si es quizás el puerto. Había estado probando el puerto 8080 anteriormente. El proyecto se configuró originalmente en una Mac y he clonado el repositorio de gitHub.
windows
github
windows-10
docker-compose
Calcetín_Rogers
fuente
fuente
Respuestas:
Recibí el mismo mensaje de error en mi Windows 10 Pro / Docker v17.06.1-ce-win24 / Docker-Compose v1.14.0 usando Windows Powershell x86 en modo administrador.
La solución fue simplemente reiniciar Docker.
fuente
docker run -p 8080:8080 --name myJenkins -p 50000:50000 jenkins/jenkins:2.107.2
. Después de terminar de configurar jenkins, lo usodocker stop myJenkins
en otra ventana de comandos y apago mi host Windows 10. Cuando inicio Windows 10 que inicia Docker automáticamente, uso el comandodocker start myJenkins
y obtengo el mensaje familiar. Sin embargo, reiniciar Docker resuelve el problema :)Si sucede una vez, reiniciar Docker hará el trabajo. En mi caso, sucedía cada vez que reiniciaba mi computadora.
En este caso, desactive el Inicio rápido , o probablemente reinicie Docker cada vez que se inicie su computadora. Esta solución se obtuvo de aquí
fuente
Simplemente reiniciar Docker no solucionó el problema para mí en Windows 10.
En mi caso, resolví el problema con los pasos exactos a continuación:
1) Cierre "Escritorio Docker"
2) Ejecute los siguientes comandos:
3) Inicie "Docker Desktop" nuevamente
Espero que esto ayude a alguien más.
fuente
También obtuve ese error, si desea saber la razón principal por la que ocurre el error, es porque Docker ya está ejecutando un contenedor similar, para resolver el problema (evite reiniciar Docker), debe:
Tienes algo similar a:
Esta es una lista de los contenedores en ejecución, tome la ID DEL CONTENEDOR (copia Ctrl+ C)
Ahora tiene que finalizar el proceso (y dejar ejecutar otra imagen) ejecute este comando.
¡Y eso es todo! Ahora puedes crear el contenedor.
Para obtener más información, visite https://docs.docker.com/get-started/part2/
fuente
Soy consciente de que ya hay muchas respuestas, pero ninguna de ellas me resolvió el problema.
En cambio, me deshice de este mensaje de error restableciendo la ventana acoplable a los valores predeterminados de fábrica :
fuente
Normalmente, este error ocurre cuando intenta iniciar un contenedor, pero los puertos que el contenedor necesita están ocupados, generalmente por el mismo Docker, como resultado de un último proceso incorrecto para detenerse.
Para mí la solución es:
netstat -oan
para encontrar el proceso (Docker es ese proceso) que está ocupando su puerto:En mi caso, mis puertos de acoplamiento son 3306 6001 8000 9001.
Ahora necesitamos liberar esos puertos, así que vamos a matar este proceso por PID (PID de columna), escriba
Reinicia la ventana acoplable.
Saludos.
fuente
En mi caso, el problema era que el contenedor docker (Nginx) usa el puerto 80 e IIS usa lo mismo. Configurar otro puerto en IIS resuelve el problema
fuente
En la mayoría de los casos, el primer caso en el que debe pensar es que hay un servicio antiguo ejecutándose y usando ese puerto. En mi caso, dado que cambio el nombre de la imagen, cuando uso docker-compose para detener (luego hacia arriba), no detendrá el contenedor antiguo (servicio), lo que hace que el nuevo contenedor no se pueda iniciar.
fuente
Una respuesta un poco tardía, pero la dejaré aquí, podría ayudar a alguien más En un mojave de Mac después de muchos reinicios de Mac y Docker tuve que hacerlo
sudo apachectl stop
.fuente
La forma más sencilla de resolver esto es reiniciando la ventana acoplable. Pero en algunos casos puede que no funcione aunque no tenga ningún contenedor que se esté ejecutando en el puerto. Puede verificar los contenedores en ejecución usando el
docker ps
comando y puede ver todos los contenedores que no se borraron pero salieron antes de usar eldocker ps -a
comando.Imagine que hay un contenedor que tiene la identificación del contenedor
8e35276e845e
. Puede usar el comandodocker rm 8e35276e845e
odocker rm 8e3
para finalizar el contenedor. Tenga en cuenta que las primeras 3 cadenas son la identificación de esa identificación de contenedor de docker en particular. Por lo tanto, de acuerdo con el escenario anterior, 8e3 es el id de 8e35276e845e .Si reiniciar no funciona, puede intentar cambiar los puertos de los servicios en el archivo docker-compose.yml y de acuerdo con el puerto apache, debe cambiar el puerto del host v (si lo hay). Esto resolverá su problema.
Ex:
debe ser cambiado a
y el v-host particular también tiene que ser cambiado,
Ej (según el escenario anterior):
Esto te ayudará a resolver el problema anterior.
fuente
Para muchos usuarios de Windows que tienen el mismo problema, sugeriría reiniciar la computadora también, porque la mayoría de las veces (al menos para mí) reiniciar solo Docker no funciona. Por lo tanto, te sugiero que sigas los siguientes pasos:
Luego, inicie su PowerShell como administrador y ejecute esto:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Después de eso reinicia tu Docker.
Después de completar estos pasos, podrá ejecutar sin problemas. Espero que eso ayude.
fuente