Skip to content

Copy files from a docker image to host folder #28

@davideuler

Description

@davideuler

1.Create an output folder in current directory, mount the folder to /output in a temp container,
and then copy the folder in the container to /output. That's all.

mkdir output && docker run --rm --mount type=bind,source="$(pwd)"/output,target=/output jni-faiss cp -r /opt/jni-faiss/cpu /output/

For example, copy linux-command static HTML files from linux-command image:

mkdir -p output && docker run --rm --mount type=bind,source="$(pwd)"/output,target=/output stilleshan/linux-command cp -r /usr/share/nginx/html /output/

2.list tags for a image

put the code to ~/.bash_profile or ~/.zshrc

function listTags() {
    local repo=${1}
    local size=${2:-25}
    local page=${3:-1}
    [ -z "${repo}" ] && echo "Usage: listTags <repoName> [size] [pageIndex]" 1>&2 && return 1
    if [[ $repo == *"/"*  ]]; then
        curl "https://hub.docker.com/v2/repositories/${repo}/tags/?page=${page}&page_size=${size}" 2>/dev/null | jq -r '.results[].name' | sort
    else
        curl "https://registry.hub.docker.com/api/content/v1/repositories/public/library/${repo}/tags?page=${page}&page_size=${size}" 2>/dev/null | jq -r '.results[].name' | sort
    fi
}

Then can listTag of a repository as:

listTags ubuntu
listTags redis
listTags gogs/gogs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions