Estaba siguiendo esta publicación : el código de referencia está en GitHub . He clonado el repositorio en mi local.
El proyecto tiene una aplicación de reacción dentro. Estoy tratando de ejecutarlo en mi local siguiendo el paso 7 en la misma publicación :
docker run -p 8080:80 shakyshane/cra-dockerEsto devuelve:
Unable to find image 'shakyshane/cra-docker:latest' locally docker: Error response from daemon: pull access denied for shakyshane/cra-docker, repository does not exist or may require 'docker login'. See 'docker run --help'.Intenté iniciar sesión en la ventana acoplable nuevamente, pero parece que, dado que pertenece a @shakyShane , no puedo acceder a él.
Tontamente, también probé npm start , pero no es una aplicación de reacción simple que se ejecuta en el nodo: está en el contenedor y los contenedores no están controlados por npm
Parece que docker pull shakyshane/cra-docker:latest lanza esto:
Error response from daemon: pull access denied for shakyshane/cra-docker, repository does not exist or may require 'docker login'Entonces, la pregunta es ¿cómo ejecuto esta imagen acoplable en mi máquina Mac local?
Bueno, esto es antilógico, pero aún así se comparte para que las personas futuras como yo no se queden atrapadas.
Entonces, el problema era que estaba tratando de ejecutar una imagen acoplable que no existe .
Necesitaba construir la imagen:
docker build . -t xameeramir/cra-dockerY luego ejecutarlo:
docker run -p 8080:80 xameeramir/cra-dockershakyshane/cra-docker No existe en el repositorio de ese usuario https://hub.docker.com/u/shakyshane/
Recibí este mensaje de error cuando escribí mal el nombre/carácter . Es decir, "nombre1\nombre2" en lugar de "nombre1/nombre2" (barra oblicua incorrecta).
El problema es que está intentando ejecutar una imagen que no existe. Si está ejecutando un Dockerfile, la imagen no se creó hasta que Dockerfile pasó sin errores; entonces, cuando Dockerfile intenta ejecutar la imagen, no puede encontrarla. Asegúrese de no tener errores en la ejecución de sus scripts.
En mi caso, vi este error cuando inicié sesión en dockerhub en mi escritorio docker. El repositorio que estaba extrayendo era local para mi empresa. Una vez que cerré la sesión de dockerhub, el tirón funcionó.
En mi caso, mi imagen tenía una etiqueta especificada y no la estaba usando.
REPOSITORY TAG IMAGE ID CREATED SIZE testimage testtag 189b7354c60a 13 hours ago 88.3MB Unable to find image 'testimage:latest' locally para este comando docker run testimage
Entonces, especificar una etiqueta como esta: docker run testimage:testtag funcionó para mí
Esto me acaba de pasar porque mi docker local vm en macos se quedó sin espacio en disco.
Acabo de eliminar algunas imágenes antiguas usando docker image prune y comenzó a funcionar correctamente nuevamente.
En mi caso, la imagen de la ventana acoplable existía en el sistema y aún así no podía ejecutar el contenedor localmente, así que usé la ID de imagen exacta en lugar del nombre de la imagen y la etiqueta, así:
docker run myContainer c29150c8588e¡La respuesta más simple puede ser la correcta! ... asegúrese de tener permisos para ejecutar el comando, use:
sudo docker run -p 8080:80 shakyshane/cra-docker
En mi caso, no me di cuenta de que había una diferencia entre docker run y docker start , y seguí usando el comando de ejecución cuando debería haber estado usando el comando de inicio.
FYI, run es para construir y crear el contenedor docker, start es simplemente iniciar un contenedor detenido
Puede enumerar todas las etiquetas en CLI con este comando:
docker image listDespués de ver No se puede encontrar la imagen 'someimage:latest' localmente , fui a Google para buscar una solución y, cuando volví a la terminal, estaba extrayendo la imagen. Supongo que la paciencia es una virtud después de todo o el ux necesita mejorar.