きっかけ
WindowsのUser
直下にはProgram Files
など半角スペースが入った名前のファイルがある(たぶんデフォルトでそう)
これまではそれが問題にならなかったが、Dockerをインストールしてdocker build
→docker run
しようとしたら
invalid reference format: repository name must be lowercase.
というエラーが発生したので、そのときの対処法をまとめた
おそらく他の状況でも、Windows OSであれば以下の方法で対処できるはず
対処その1(コマンドプロンプトside)
-
コマンドプロンプトを起動し、問題の(半角スペースが名前に含まれている)ファイルの1コ上の階層に移動
-
dir /x
を実行して、8.3形式のファイル名を表示
8.3形式とは、ベース部分が最大8文字、拡張子が最大3文字で構成されるファイル名のことで、元のファイル名と同様に扱える
C:\> dir /x
2016/11/29 11:50 <DIR> Fujitsu
2016/11/29 11:34 <DIR> Intel
2006/12/01 23:37 904,704 msdia80.dll
2018/08/18 21:49 <DIR> MYCLOU~1 My Cloud Public
2018/04/12 08:38 <DIR> PerfLogs
2019/08/09 10:25 <DIR> PROGRA~1 Program Files
2019/08/06 21:25 <DIR> PROGRA~2 Program Files (x86)
2018/06/10 11:03 <DIR> Users
2019/07/30 13:19 <DIR> Windows
↑これが8.3形式のファイル名
対処その2(エラーが出たシェルside)
-
問題の(半角スペースが名前に含まれている)ディレクトリの1コ上の階層に移動
-
8.3形式のディレクトリ名(今回の場合は
PROGRA~1
)を指定して元いたディレクトリまで戻る -
エラーが出たコマンドを実行し、ちゃんと実行されることを確認