docker / docker/cli

create manifest error when use http registry 80 port

Open
#3,250 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/manifest kind/bug version/20.10
Dominant language
Go
Stars
6.1k
Forks
2.2k
Avg merge
1d 15h
Merged PRs (30d)
43

Description

Description

Steps to reproduce the issue:

  1. config /etc/docker/daemon.json and add registry.com to insecure-registries
  2. use http registry and registry use 80 port(eg: registry.com)
  3. docker login registry.com -u xxx -p xxx
  4. docker manifest create registry.com/a:1.0 registry.com/a-arm:1.0 --insecure --amend

if use below steps, will success

1. config `/etc/docker/daemon.json` and  add `registry.com:80` to `insecure-registries`
2. use http registry and registry use 80 port(eg: registry.com)
3. docker login registry.com:80 -u xxx -p xxx
4. docker manifest create registry.com:80/a:1.0  registry.com:80/a-arm:1.0 --insecure --amend

Describe the results you received:

Get "https://registry.com/v2/" dial tcp {ip}:443 connection refused

Describe the results you expected:

i expected manifest create success

Additional information you deem important (e.g. issue happens only occasionally):

Output of docker version:

Client:
  version: 20.10.8
  API version: 1.41
  Go version: go1.16.6
  OS/arch: linux/arm64
  Experimental: true
  Context: default
Server:
  Engines:
    Version: 20.10.8
    Api version: 1.41(minimum version 1.12)
    Go version: go1.16.6
    OS/arch: linux/arm64
    Experimental: true
  Containerd:
    Version: v1.4.9
  runc:
   Version: 1.0.1
  docker-init:
    Version: 0.19.0  

Output of docker info:

I cannot paste on the intranet

Additional environment details (AWS, VirtualBox, physical, etc.):

VMware, arm64

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the docker manifest create command and trace how registry references from the reproduction are handled alongside /etc/docker/daemon.json insecure registries. Reproduce the HTTP registry case with an omitted :80, compare it with the working explicit-port case, and verify that manifest creation succeeds without forcing HTTPS on port 443.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
cli, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.