CTFd-Docker-Challenges icon indicating copy to clipboard operation
CTFd-Docker-Challenges copied to clipboard

Get ExposedPorts from Config if it does not exist in ContainerConfig

Open nimah79 opened this issue 2 years ago • 0 comments

In images builded using BuildKit, ExposedPorts does not exist in Config field, not in ContainerConfig (Related issue in docker/cli).

Sample output of docker image inspect command for an image built using BuildKit:

[
    {
        "Id": "sha256:2dfa6c380c5fa5a1e7e99e137032f314d3121c755a713cd3a60dc7454124ad50",
        "RepoTags": [
            "testi:latest"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2023-03-23T20:57:30.366632471Z",
        "Container": "",
        "ContainerConfig": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": null,
            "Cmd": null,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "DockerVersion": "",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                ...
            ],
            "Cmd": null,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "/var/www/html",
            "Entrypoint": [
                "/bin/bash",
                "/tmp/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": null,
            "StopSignal": "SIGWINCH"
        },
        "Architecture": "arm64",
        ...
    }
]

This PR fixes getting exposed ports from images built using BuildKit.

nimah79 avatar Mar 23 '23 22:03 nimah79