-
Select Topic AreaQuestion BodyI am following the instructions at https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#pushing-container-images to login to the container registry and then push a Docker image. The login appears to work with a classic token. Many layers are pushed. Then, everything hangs for 10s of minutes. I also tried pushing an Apptainer .sif file by adapting the instructions to use What could this indicate? I made a new token and verified it has |
Beta Was this translation helpful? Give feedback.
Replies: 16 comments 2 replies
-
|
I tried this again with a smaller Apptainer container and it worked This suggests that the authentication is okay, and I am running the correct command. However, my original container still fails. The push will hang for hours Besides the container size, I'm not sure what is different. |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
I am still experiencing this issue and am unsure what additional information I could provide for more context. I could reproduce the issue with another image if anyone wants another example. |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
This is still a problem. Any suggestions would be appreciated. |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
Still open |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
Still open |
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
Unresolved |
Beta Was this translation helpful? Give feedback.
-
|
This appears to be caused by GHCR’s 10-minute timeout, which applies to the entire push operation, not just layer uploads. The smaller image completes successfully, but the ~7.8 GiB image finishes uploading layers (shows 100%) and then stalls during the manifest upload / push finalization phase. For large images, this final step can exceed the timeout, after which GHCR never responds and the client waits indefinitely. This is not a UI issue the push is genuinely stuck after layer transfer completes. The reliable workarounds are to split the image into smaller stages/images, push via GitHub Actions (recommended due to optimized GHCR connectivity), and ensure no single layer approaches GHCR size limits. |
Beta Was this translation helpful? Give feedback.
-
|
This issue occurs because GHCR enforces a 10-minute timeout on the entire push operation, not just on individual layer uploads. What’s happening in practice is that authentication succeeds, which confirms your token is valid. The image layers upload successfully and the progress bar reaches 100%. However, during the final manifest upload step, the process exceeds GHCR’s timeout limit. At that point, the server silently stops responding, and the client waits indefinitely, making it look like the push is stuck. This means it’s not a UI bug and not an authentication problem the push genuinely fails after the upload phase. Your token and permissions are working correctly. The real problem is a backend limitation in GHCR, where large images exceed the allowed processing time. So this is not a configuration mistake on your side it’s a registry constraint. |
Beta Was this translation helpful? Give feedback.
-
|
Thank you @dineshx29 and @priyanshusta. I appreciate your explanations after this was puzzling me for over a year. |
Beta Was this translation helpful? Give feedback.
This appears to be caused by GHCR’s 10-minute timeout, which applies to the entire push operation, not just layer uploads.
The smaller image completes successfully, but the ~7.8 GiB image finishes uploading layers (shows 100%) and then stalls during the manifest upload / push finalization phase. For large images, this final step can exceed the timeout, after which GHCR never responds and the client waits indefinitely.
This is not a UI issue the push is genuinely stuck after layer transfer completes.
The reliable workarounds are to split the image into smaller stages/images, push via GitHub Actions (recommended due to optimized GHCR connectivity), and ensure no single layer approaches GHCR…