やりたいこと
- 公式のDocker Hubで指定したタグを検索するのがダルい
- UIがクソ
- そもそもターミナルで完結したい
- タグ一覧を取得するAPIがあるからそれを使ってシェルスクリプトを作成したい
成果物
ChatGPT様々
function search_docker_image_tag() { if [ -z "$1" ]; then echo "Usage: search_docker_image_tag <image name>" return 1 fi IMAGE_NAME="$1" # Check if image name contains / if [[ $IMAGE_NAME != */* ]]; then IMAGE_NAME="library/$IMAGE_NAME" fi # Create a temporary file to store the tags TMP_FILE=$(mktemp) # Loop through the first two pages and append the tags to the file for PAGE in {1..2}; do echo "fetching page${PAGE}" curl -sL "https://registry.hub.docker.com/v2/repositories/${IMAGE_NAME}/tags?page=${PAGE}&page_size=100&status=active" | jq -r '.results[].name' >> $TMP_FILE done # Use fzf to search the file and delete it afterwards cat $TMP_FILE | fzf rm -f $TMP_FILE }
使い方
公式イメージを検索したい場合
search_docker_image_tag python
普通のレポジトリのDockerイメージを検索したい場合
search_docker_image_tag nvidia/cuda