Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

filename completion on `docker load -i`

オープン 初心者向け
#7,402 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@cra がすでに取り組んでいます。

2026年10月17日 から。

  • #7403 @cra による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
bash, docker, go
領域
cli

調査の方向性

cli/command/image/load.go から始めます。そこでは docker load -i がフラグと補完動作を登録しています。docker __complete load -i '' で再現し、その補完設定を docker compose -f で使用されるファイル名拡張子の補完と比較します。完了とは、-i の値が ShellCompDirectiveNoFileComp を返すのではなくファイル名を補完し、関連する CLI テストがこの動作をカバーしていることを意味します。

索引モデルが issue の本文から書いたものです。

説明

kind/feature status/0-triage
Description

Hi!

Sometimes when testing my containers I ship them between machines first to ensure I didn't miss anything when building the image. I do it by

docker save <image:tag> | gzip > my_image.tar.gz

and then scp it to a vps remote where I load it with

docker load -i my_image.tar.gz

the problem that I noticed is that the tab completion is not working on the load command. I'm pretty sure it's a docker cli isssue not my shell as

$ docker __complete load -i ''                     
:4
Completion ended with directive: ShellCompDirectiveNoFileComp

compared for example for compose

$ docker __complete compose -f ''
yaml
yml
:8
Completion ended with directive: ShellCompDirectiveFilterFileExt

fix suggestion

pretty sure it's in cli/command/image/load.go where the command registers completions

version and info

$ docker version       
Client:
 Version:           29.9.0
 API version:       1.56
 Go version:        go1.27.1-X:nodwarf5
 Git commit:        f415da838b
 Built:             Fri Oct  9 00:19:20 2026
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          29.9.0
  API version:      1.56 (minimum version 1.40)
  Go version:       go1.27.1-X:nodwarf5
  Git commit:       a5b58c94d3
  Built:            Fri Oct  9 00:19:20 2026
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v2.4.1
  GitCommit:        f2551031d7276a770f65f98c9b52e57e7dad07e8.m
 runc:
  Version:          1.5.2
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
$ docker info                                         
Client:
 Version:    29.9.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  0.38.0
    Path:     /usr/lib/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  5.6.0
    Path:     /usr/lib/docker/cli-plugins/docker-compose

Server:
 Containers: 20
  Running: 4
  Paused: 0
  Stopped: 16
 Images: 122
 Server Version: 29.9.0
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: f2551031d7276a770f65f98c9b52e57e7dad07e8.m
 runc version: 
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 7.2.9-arch1-1
 Operating System: Arch Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 31.07GiB
 Name: pintsize
 ID: 76e4d802-aba2-4177-b4f4-d8eadd9c2ff4
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: true
 Insecure Registries:
  127.0.0.0/8
  ::1/128
 Live Restore Enabled: false
 Firewall Backend: iptables
  EnableUserlandProxy: true
  UserlandProxyPath: /usr/bin/docker-proxy
主要言語
Go
スター
6.1k
フォーク
2.2k
平均マージ
15時間 11分
マージ済み PR(30日)
42

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

docker/cli のほかの issue

docker/cli の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。