tag library imagenes hub example docker dockerfile

docker - library - denegado: acceso denegado al recurso denegado: acoplador



download docker image (30)

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 link . 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


Después de iniciar sesión en la ventana acoplable, debe nombrar su imagen con el prefijo.

por ejemplo, si su nombre de usuario en docker-hub es Shah , la imagen debería ser:

Shah/firstimage


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".


En caso de que alguien más se encuentre con esto, la causa, en mi caso, fue que estaba usando el enfoque de docker compose (en desuso) para enviar imágenes. Cambiar al docker push esperado de la docker push resolvió el problema para mí.


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 era: docker push org-name/image-name

Podría presionar con éxito al 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 y volver a presionar nuevamente usando: 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.


En mi caso, sudo -E falló con este mensaje. La resolución fue proporcionar acceso do docker sin sudo (crear un docker grupal, agregar el usuario (Jenkins) al grupo, configurar el grupo en /var/run/docker.sock). Ahora docker push no necesita sudo, y funciona.


Entonces, en caso de que sea útil para cualquiera ...
Tuve este mismo problema y aquí está mi problema y el FIX.

  • Tenía una computadora en mi red de prueba llamada ''galaxy''.
  • Configuré el registro de Docker usando el siguiente comando de ejecución:

    sudo docker run -d --restart=always / --name registry / -v /srv/registry/certs:/certs / -v /srv/registry/storage:/var/lib/registry / -e REGISTRY_HTTP_ADDR=0.0.0.0:443 / -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/galaxy.cert / -e REGISTRY_HTTP_TLS_KEY=/certs/galaxy.key / -p 443:443 / registry:2

    Luego estaba tratando de enviar una imagen a la galaxia desde una computadora portátil en la red, así que hice esto:

    docker login galaxy

    Esto me daría un error que diría:

    Login did not succeed, error: Error response from daemon: Get https://galaxy/v2/: x509: certificate signed by unknown authority

    Curiosamente, la solución a este problema fue hacer un inicio de sesión como este:

    docker login galaxy:443

    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í:

    galaxy/myImage:0.0.1

    Así que traté de presionarlo haciendo esto:

    docker push galaxy/myImage:0.0.1

    A lo que obtuve la respuesta:

    The push refers to repository [docker.io/galaxy/myImage] 7ab460574f86: Preparing 1aecaf56754d: Preparing 1df1b5f06ca4: Preparing denied: requested access to the resource is denied

    Por extraño que parezca, descubrí que la solución para esto era etiquetar primero la imagen de la siguiente manera:

    docker tag myImage:0.0.1 galaxy:443/myImage:0.0.1

    ... y luego haz el empuje así:

    docker push galaxy:443/myImage:0.0.1

    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.


  • 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:


    Gracias a la answer proporcionada por Dean Wu y este comentario de ses , antes de presionar, recuerde iniciar sesión desde la línea de comandos a su cuenta de Docker Hub

    docker login

    Según los docs :

    You need to include the namespace for Docker Hub to associate it with your account. The namespace is the same as your Docker Hub account name. You need to rename the image to YOUR_DOCKERHUB_NAME/docker-whale.

    Entonces, esto significa que debe etiquetar su imagen antes de presionar:

    docker tag firstimage YOUR_DOCKERHUB_NAME/firstimage

    y luego deberías poder empujarlo.

    docker push YOUR_DOCKERHUB_NAME/firstimage


    Inicie sesión desde la aplicación. He estado intentando solo desde la terminal sin suerte.

    Esta es la versión 17.06.1


    Intente cerrar la sesión de la aplicación "Docker para Windows" y cierre la sesión del sitio https://hub.docker.com/ y luego realice "docker login" y "docker push". Me ayudó mucho.


    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 realidad xyz/myrepo .

    Para empujar una imagen debes hacer:

    docker push docker.io/xyz/myrepo

    Puede agregar ": último" o una etiqueta diferente si es necesario.

    Si obtiene el mensaje de error requested access to the resource is denied el requested access to the resource is denied :

    1. Vaya a https://hub.docker.com/ e https://hub.docker.com/ sesión como xyz.
    2. Haga clic en su repositorio xyz / myrepo.
    3. Haz clic en Colaboradores.
    4. Agrega xyz como colaborador.

    Mi problema era simplemente usar caracteres no válidos (un extra /) en el nombre de mi imagen:

    myusername/something/image

    es un nombre de imagen no válido Prueba myusername / something-image. Espero que esto ayude a alguien.


    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):

    1. Obtenga fuentes de github
    2. Construir imagen acoplable
    3. Empuje la imagen de Docker a Dockerhub

    El error que recibí en push fue denied: requested access to the resource is denied me envió aquí.

    Tenga cuidado con la variable $(Build.Repository.Name) incluida en su nombre de imagen. Por defecto, es el nombre del repositorio de github, pero para que funcione, debe ser dockerhub_account_username/your_dockerhub_repository_name .

    Reemplace $(Build.Repository.Name) con dockerhub_account_username/your_dockerhub_repository_name en su campo de nombre de imagen para los pasos de compilación y inserción.

    La api de dockerhub necesita esto para saber dónde empujar la imagen.


    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:

    1. Vaya a hub.docker.com y cambie su repositorio a privado
    2. En tu caparazón haz:

    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

    1. Regrese al Docker Hub y cambie el repositorio a público. Eso funcionó para mí.

    Otra razón (bastante inteligente) para esto: no tiene repositorios privados con su plan.


    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)

    sudo docker login xxx.mydomain.com:8443

    2) Etiquete la imagen CON SU SERVIDOR NEXUS IP / DNS

    sudo docker tag myimage:latest xxx.mydomain.com:8443/myimage:1.0.0

    3) Empuje la imagen

    sudo docker push xxx.mydomain.com:8443/myimage:1.0.0


    Si aún falla después del docker login , asegúrese de que el repositorio al que intenta docker login se haya creado en primer lugar.


    Si enfrenta este problema mientras usa Azure Container Registry, puede resolverlo iniciando sesión primero en su registro.

    docker login yourregistry.azurecr.io

    Y luego etiquete su imagen para que coincida con el nombre de host de su registro.

    docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]

    Y luego finalmente empujarlo.

    docker push yourregistry.azurecr.io/yourimagename:[version]


    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 el NAME/REPOSITORY que usará para su imagen cuando construya la imagen.

    • Primero, docker login

    • En segundo lugar, utilizo " docker build -t johnsmith/private-repository:01 . " Para crear la imagen, y utilizo " docker images " para confirmar la imagen creada, como en este cuadro amarillo a continuación: (lo siento, no puedo pegar la tabla formato pero solo la cadena de texto)

    johnsmith / private-repository (REPOSITORY) 01 (TAD) c5f4a2861d6e (ID DE IMAGEN) hace 2 días (CREADO) 305MB (TAMAÑO)

    • En tercer lugar, utilizo docker push johnsmith/private-repository:01

    ¡Hecho!


    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é:

    docker login

    Y luego empujé mi imagen usando el ''nombre etiquetado'' .

    docker push {namespace}/mydevrepo


    También estaba con este problema, probé las soluciones aquí presentes, pero en vano, inicié sesión correctamente, al menos de acuerdo con la salida del docker login de docker login de docker login pero aún así no pude presionar la imagen. Lo que finalmente funcionó fue simplemente hacer:

    docker logout

    Y luego, el docker login nuevamente, fue tan trivial. No estoy seguro de lo que sucedió, pero forzar el reinicio de sesión funcionó.


    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í.


    Tuve el mismo problema al tomar el curso para principiantes de Docker. Resolví el problema haciendo un docker login la ventana docker login antes de la llamada push de la ventana acoplable.


    Tuve el mismo problema hoy. Lo único que funcionó para mí fue iniciar sesión explícitamente en "docker.io":

    docker login docker.io

    Intenté varios otros nombres, y el inicio de sesión parece funcionar, pero luego daría como resultado un error de "acceso denegado al recurso".


    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.

    docker login -u sirimalla

    2) Etiqueta la construcción de tu imagen

    mi nombre de imagen aquí es: mylocalimage y por defecto tiene etiqueta: último
    y mi nombre de usuario es: sirimalla como registrado en la nube de docker, y creé un repositorio público llamado: dockerhub

    así que mi repositorio personal se convierte ahora en: sirimalla / dockerhub y quiero insertar mi imagen con la etiqueta: myfirstimagepush

    Etiqueté como a continuación:

    docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush

    3) Empujé la imagen a mi repositorio docker personal como se muestra a continuación

    docker push sirimalla/dockerhub:myfirstimagepush

    Y se aplicó con éxito a mi repositorio personal de Docker.


    Utilice los siguientes comandos:

    $ docker login <enter user name and password for Docker Hub Repository> $ docker tag first-image {docker-hub-username}/{default-repo-folder-name}:first-image $ docker push {docker-hub-username}/{default-repo-folder-name}:first-image

    Por ejemplo, tengo un repositorio público como manjeet86 / docker-repo, por lo que los comandos serían:

    $ docker tag first-image manjeet86/docker-repo:first-image $ docker push manjeet86/docker-repo:first-image

    Solo mira : lugar de / ese fue el truco. Esto funciona para mi. No sé si te permite etiquetar con / también en lugar de : pero eso puede ser para algún otro propósito.

    https://docs.docker.com/engine/reference/commandline/tag/#examples


    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)


    el inicio de sesión de Docker desde el símbolo del sistema no funcionó. Seguía recibiendo "acceso denegado al recurso" cuando intentaba presionar.

    Después de iniciar sesión en la aplicación Docker para Windows, Docker Push funcionó bien. Espero que esto ayude a alguien.


    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 un 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 está publicada hasta ahora)


    SO: Ubuntu16.04

    Motivo: eliminé el archivo de configuración del cliente ( ~ / .docker / config.json )

    Solución:

    • Reinicia la ventana acoplable.
      reinicio del acoplador de servicio .
    • Necesita ingresar información de inicio de sesión, luego genera el archivo de configuración automáticamente.
      inicio de sesión de docker --username = yourdockerhubername [email protected]