Estoy siguiendo este enlace para crear mi primera imagen acoplable y salió con éxito y ahora estoy tratando de insertar esta imagen en mi repositorio acoplable desde este enlace . Pero cada vez que intento insertar esta imagen en el repositorio, recibo este tipo de error.
denied: requested access to the resource is denied
¿Alguien podría darme alguna pista sobre este problema? Cualquier ayuda sería apreciada.
Nota: He iniciado sesión con éxito en la ventana acoplable
docker
dockerfile
Keyur Shah
fuente
fuente
Respuestas:
Es posible que deba cambiar su repositorio de Docker a privado antes de presionar Docker.
Gracias a la respuesta proporcionada por Dean Wu y este comentario de ses , antes de presionar, recuerde cerrar sesión , luego inicie sesión desde la línea de comando a su cuenta de Docker Hub
Según los documentos :
Entonces, esto significa que debe etiquetar su imagen antes de presionar:
y luego deberías poder empujarlo.
fuente
[host]/[namespace]/[repo]
y sigo con el mismo error (es decir, tengo organizaciones y mi cuenta como espacio de nombres). Incluso lo intentédocker login ...
. No puedo empujar: - |Tuve el mismo problema al tomar el curso para principiantes de Docker. Resolví el problema haciendo un
docker login
antes de la llamada push de Docker.fuente
docker login
.sudo docker login
trabajó para mi. Esto me permitió impulsar mi repositorio privado.Tuve el mismo problema, pero la respuesta aceptada dada aquí no funcionó para mí. Intenté algunos pasos y pude moverme para finalmente empujarlo. Espero que esto ayude a alguien.
Aquí están los pasos trabajados para mí:
1) Inicie sesión en la ventana acoplable.
2) Etiqueta la construcción de tu imagen
mi nombre de imagen aquí es: mylocalimage y por defecto tiene la etiqueta: latest
y mi nombre de usuario es: sirimalla como registrado en la nube de docker, y creé un repositorio público llamado: dockerhub
entonces mi repositorio personal se convierte ahora en: sirimalla / dockerhub y quiero insertar mi imagen con la etiqueta:
myfirstimagepush
Etiqueté como a continuación:
3) Empujé la imagen a mi repositorio docker personal como se muestra a continuación
Y se aplicó con éxito a mi repositorio personal de Docker.
fuente
docker login
. Hasta llegar a este hilo, no lo sabíadocker login
.También es importante tener en cuenta que cuando etiqueta su imagen, la etiqueta usando el Espacio de nombres y luego su repositorio / mydevrepo . Esto me confundió al seguir los documentos de Docker. Después de eso usé:
Y luego empujé mi imagen usando el 'nombre etiquetado' .
fuente
Utilice los siguientes comandos:
Por ejemplo, tengo un repositorio público como manjeet86 / docker-repo, por lo que los comandos serían:
Solo ver en
:
lugar de/
eso fue el truco. Esto funciona para mi. No sé si te permite etiquetar/
también en lugar de:
eso, pero eso puede ser para algún otro propósito.https://docs.docker.com/engine/reference/commandline/tag/#examples
fuente
:
lugar de/
, gracias.La forma en que Docker maneja las ID de usuario y los repositorios puede ser un poco confusa. Supongamos que crea una cuenta de usuario xyz en Docker Hub. La nueva cuenta establece automáticamente un espacio de nombres
xyz
. Luego creas un repositorio llamado myrepo. El nombre del repositorio será en realidadxyz/myrepo
.Para empujar una imagen debes hacer:
Puede agregar ": último" o una etiqueta diferente si es necesario.
Si recibe el
requested access to the resource is denied
mensaje de error:fuente
No estoy seguro de lo que sucedió con Docker Hub, pero ninguna de las soluciones publicadas funcionó para mí. Aquí está la solución que terminó funcionando para mí a partir de enero de 2018:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE verse_gapminder_gsl latest 023ab91c6291 3 minutes ago 1.975 GB verse_gapminder latest bb38976d03cf 13 minutes ago 1.955 GB rocker/verse latest 0168d115f220 3 days ago 1.954 GB
docker tag bb38976d03cf dockhubusername/verse_gapminder:mytag
docker login docker.io
docker push dockhubusername/verse_gapminder:mytag
fuente
Docker también tiene un límite en la cantidad de repositorios privados que puede tener. Si está creando un repositorio privado presionando desde su máquina local, creará el repositorio pero no se puede empujar ni extraer nada más, y obtendrá el error "acceso denegado al recurso denegado".
fuente
SO: Ubuntu16.04
Motivo: eliminé el archivo de configuración del cliente ( ~ / .docker / config.json )
Solución:
reinicio de la ventana acoplable de servicio .
inicio de sesión de Docker --username = yourdockerhubername [email protected]
fuente
docker login https://index.docker.io/v1/ -u=yourusername
Mi problema era simplemente usar caracteres no válidos (un extra /) en el nombre de mi imagen:
es un nombre de imagen no válido Prueba myusername / something-image. Espero que esto ayude a alguien.
fuente
__
.Tuve el mismo problema hoy. Lo único que funcionó para mí fue iniciar sesión explícitamente en "docker.io" :
Intenté varios otros nombres, y el inicio de sesión parecería funcionar, pero luego daría lugar al siguiente error.
fuente
docker login
sin éxito, pero lo explícitodocker.io
al final hizo el truco.También estaba con este problema, probé las soluciones aquí presentes, pero en vano, me conecté correctamente, al menos de acuerdo con la salida de,
docker login
pero aún no podía empujar la imagen. Lo que finalmente funcionó fue simplemente hacer:docker logout
Y, de
docker login
nuevo, fue tan trivial. No estoy seguro de lo que sucedió, pero forzar el reinicio de sesión funcionó.fuente
Si enfrenta este problema mientras usa Azure Container Registry, puede resolverlo iniciando sesión primero en su registro.
Y luego etiquete su imagen para que coincida con el nombre de host de su registro.
Y luego finalmente empujarlo.
fuente
Para aquellos que intentan llevar la imagen a su propio Administrador de repositorio de Nexus, haga lo siguiente:
1) Inicie sesión en su Nexus Repository Manager (el puerto 8443 está asociado con un repositorio de host Docker específico)
2) Etiquete la imagen CON SU SERVIDOR NEXUS IP / DNS
3) Empuje la imagen
fuente
Inicie sesión desde la aplicación. He estado intentando solo desde la terminal sin suerte.
Esta es la versión 17.06.1
fuente
Solución de trabajo simple:
Vaya aquí
https://hub.docker.com/
para crear un repositorio PRIVADO con nombre, por ejemplo,johnsmith/private-repository
este es elNAME/REPOSITORY
que usará para su imagen cuando construya la imagen.Primero,
docker login
En segundo lugar, uso "
docker build -t johnsmith/private-repository:01 .
" para crear una imagen, y uso "docker images
" para confirmar la imagen creada, como en este cuadro amarillo a continuación: (lo siento, no puedo pegar el formato de tabla sino solo la cadena de texto)docker push johnsmith/private-repository:01
¡Hecho!
fuente
Mi respuesta está relacionada con problemas similares de Azure DevOps que tuve con la siguiente canalización común (es más específica pero podría ayudar a alguien a ahorrar tiempo):
El error que recibí al
denied: requested access to the resource is denied
enviarme me envió aquí.Tenga cuidado con la variable
$(Build.Repository.Name)
incluida en el nombre de su imagen. Por defecto, es el nombre del repositorio de github, pero para que su trabajo funcione, debería serlodockerhub_account_username/your_dockerhub_repository_name
.Reemplace
$(Build.Repository.Name)
condockerhub_account_username/your_dockerhub_repository_name
en su campo de nombre de imagen para los pasos de compilación y inserción.La api dockerhub necesita esto para saber dónde empujar la imagen.
fuente
Funcionó después de que cambié " docker login https://hub.docker.com " a " docker login docker.io " y proporcioné nombre de usuario y contraseña.
Luego siga los siguientes comandos:
NOTA: "new-repo" contendrá "Docker ID + Repo name"
Aquí he creado el repositorio "ubuntu" en Docker Hub antes de ejecutar el siguiente comando.
Ejemplo:
fuente
Si aún falla después
docker login
, asegúrate de que el repositorio al que intentas ingresar se haya creado en primer lugar.fuente
También estoy teniendo este problema. Resulta que estoy usando el nivel gratuito e intento insertar más de 1 imagen en el repositorio privado. Hacer 1 imagen privada y el resto público funcionó para mí.
fuente
En mi caso, estaba presionando a una organización donde estoy en un equipo que tiene permisos de administrador para el repositorio.
entonces mi comando push fue:
docker push org-name/image-name
Podría presionar con éxito a nombre de usuario / nombre de imagen pero no a la organización. Verifiqué tres veces los permisos. Nada funcionó.
La solución fue eliminar el repositorio de Docker Hub e impulsar nuevamente utilizando:
docker push org-name/image-name
Por lo que vale, creo que el repositorio fue originalmente promovido antes de que la cuenta se convirtiera en una organización.
fuente
Entonces, en caso de que sea útil para cualquiera ...
Tuve este mismo problema y aquí está mi problema y el FIX.
Luego estaba tratando de enviar una imagen a la galaxia desde una computadora portátil en la red, así que hice esto:
Esto me daría un error que diría:
Curiosamente, la solución a este problema fue hacer un inicio de sesión como este:
Eso resultó en un inicio de sesión exitoso.
Entonces traté de llevar la imagen de mi computadora portátil a 'galaxy'.
Ya había creado una etiqueta para mi imagen que se veía así:
Así que traté de presionarlo haciendo esto:
A lo que obtuve la respuesta:
Por extraño que parezca, descubrí que la solución para esto era etiquetar primero la imagen de la siguiente manera:
... y luego haz el empuje así:
Entonces, por alguna razón, tuve que incluir el puerto en la etiqueta como parte requerida del nombre del repositorio.
Espero que esto ayude a otros.
fuente
todas las respuestas anteriores fueron correctas, solo quiero agregar una información que vi que no se mencionó;
Si el proyecto es un proyecto privado para empujar correctamente la imagen, debe configurarse un token de acceso personal o desplegar token con la clave read_registry habilitada.
fuente: https://gitlab.com/help/user/project/container_registry#using-with-private-projects
Espero que esto sea útil (también si la pregunta se ha publicado hasta ahora)
fuente
Esta respuesta es tanto para mi futuro como para cualquier otra persona. Me encontré con este problema exacto cuando inicié sesión correctamente, pero intento ingresar a un repositorio privado cuando mi número de repositorios privados es mayor o igual al límite permitido por mi plan.
No estoy exactamente seguro de cómo pude crear demasiados repositorios privados, pero si mi plan incluye 5 repositorios privados, y de alguna manera tengo 6, entonces este es el error que recibiré:
denied: requested access to the resource is denied
En mi caso, es posible que termine con demasiados repositorios privados porque tengo mi visibilidad predeterminada establecida en privado:
Aquí es donde determina cuántos repositorios privados puede tener:
Una vez que hice público el problemático repositorio, el problema se hizo evidente:
fuente
Realmente espero que esto ayude a alguien (que mira las respuestas finales primero como yo):
Intenté escribir continuamente
En lugar
Como también hice mi etiqueta así:
... se rompió todo el infierno perder.
Sinceramente espero que no repitas mi error. Perdí como 30 minutos en esto ...
fuente
Tardo en agregar otra respuesta, pero la respuesta aceptada y las respuestas restantes que mencionan no
docker login
tienen un caso límite para resolver los problemas que otros están indicando en los comentarios.El énfasis en la
port
necesidad de ingresar es probablemente la solución para aquellos que todavía están buscando.docker login
odocker login <private-repo-host>
puede conectarse sin problemas, pero cuando llegue el momento de enviar imágenes, obtendrá el mismo error que OP.Es decir, puede conectarse sin definir host o puerto y aún así obtener:
En mi caso, estoy usando un registro de docker incorporado de GitLab autohospedado, que se configuró para usar el puerto
4567
. Puede ser conveniente verificar desde qué puerto se debe acceder al registro. Sin especificar que dicho puertodocker login <our.gitlab.host>
iniciaría sesión con éxito, pero da el mismo problema que el OP preguntó:Si está utilizando docker.io/dockerhub, es probable que no tenga este problema, pero si tiene una solución de registro privada / alojada, la probabilidad aumenta; debe iniciar sesión explícitamente utilizando el host y el puerto para el registro de docker .
fuente
No permita engañar hacia el nombre de la etiqueta.
Mi enfoque para resolver esto:
Salida:
Salida:
Engañar es etiqueta, asegúrese de entender eso.
fuente
la forma más fácil es usar el escritorio de Docker (para Windows 10 o superior y Mac)
primer registro en docker hub proporcionando dockerID
luego haga clic en el icono de escritorio de Docker en su máquina y -> Preferencias -> luego inicie sesión con Docker Hub docker / id y contraseña.
fuente
cambie el nombre de su imagen a nombre de usuario / etiqueta de nombre de imagen docker your-current-image / current-image dockerhub-username / some-name: your-tag (ejemplo: último)
fuente
Intente cerrar sesión en la aplicación "Docker para Windows" y cierre la sesión del sitio https://hub.docker.com/ y luego realice "inicio de sesión de docker" y "empuje de docker". Me ayudó mucho.
fuente