[解決済み】Dockerエラー:無効な参照形式:リポジトリ名は小文字でなければならない
質問
私のプロジェクトでこのようなDockerエラーに遭遇しました。
invalid reference format: repository name must be lowercase
この一般的なメッセージには、さまざまな原因があるのでしょうか?
私は努力の末にすでにそれを理解しました。ウェブ検索をしても解決策がすぐに出てこないのと、このエラーメッセージはDockerが遭遇する直接的な問題を説明しているわけではないので、ここに記録するために私自身の質問に答えることにします。
解決方法は?
dockerにおけるquot;reference"とは、イメージへのポインタのことです。イメージ名、イメージID、レジストリサーバを名前に含む、sha256タグでイメージを固定するなど、実行したいイメージを指し示すものであれば何でもかまいません。
は
invalid reference format
のエラーメッセージは、指定された文字列を docker がイメージに変換できないことを意味します。これは、名前が無効であるか、あるいは
docker run
コマンドラインでイメージを実行している場合は、そのようになります。
名前自体が無効な場合は
repository name must be lowercase
は、レジストリやリポジトリの名前に大文字を使っていることを意味します。
YourImageName:latest
は
yourimagename:latest
.
を使用すると
docker run
コマンドラインで、パラメータを空白で引用しなかったり、引数の値を見落としたり、コマンドラインの順番を間違えたりした結果、このようなことがよく起こります。コマンドラインの順番は
docker ${args_to_docker} run ${args_to_run} image_ref ${cmd_to_exec}
runにargsを渡す際に最も多いエラーは、パス名にスペースを含むボリュームマッピングを展開し、パスを引用するかスペースをエスケープしないことです。例
docker run -v $(pwd):/data image_ref
ここで、もしあなたがディレクトリ
/home/user/Some Project Dir
を定義すると、匿名ボリューム
/home/user/Some
をコンテナ内で実行し
Project:latest
というコマンドで
Dir:/data image_ref
. そして、その修正は、引数を引用することです。
docker run -v "$(pwd):/data" image_ref
その他、クォートミスしがちな場所として、環境変数があります。
docker run -e SOME_VAR=Value With Spaces image_ref
これは、dockerがイメージを実行しようとしていると解釈します。
With:latest
とコマンド
Spaces image_ref
. ここでも、環境パラメータを引用することで修正します。
docker run -e "SOME_VAR=Value With Spaces" image_ref
合成ファイルでは、画像名で変数を展開すると、その変数が正しく展開されないことがあります。そこで、もし
version: 2
services:
app:
image: ${your_image_name}
その後、ダブルチェックで
your_image_name
はすべて小文字の文字列に定義されています。
関連
-
[解決済み】Docker - 0.0.0.0:4000 のバインドに失敗しました: ポートは既に割り当てられています。
-
[解決済み] docker cp を使ってホストコンピュータから docker コンテナに rsync する方法
-
[解決済み] docker ps' と 'docker-compose ps' コマンドで異なる結果が表示される
-
[解決済み] docker-proxy - 443 でバインドしようとすると、ユーザーランドプロキシーを開始する際にエラーが発生します。
-
Dockerコンテナ共通のトラブルシューティングと対処法
-
docker make image apt-get install file error debconf: unable to initialize frontend: ダイアログ
-
docker-composeはmysqlをボリュームでデプロイする際のパーミッション拒否の問題を解決します。
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] Docker リポジトリ名の変更、イメージ名の変更方法は?
-
[解決済み] docker イメージをプライベートリポジトリにプッシュする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー "入力デバイスはTTYではありません"
-
[解決済み】Dockerのビルドコンテキスト外のファイルをインクルードする方法とは?
-
[解決済み] Ansibleタスクのタイムアウトの最大長
-
[解決済み] dockerでCOPYするが、除外する
-
[解決済み] Dockerfileの "RUN chmod "が有効でない。
-
docker上で動作するphpからmysqlへの接続の解決策、表示(HY000/2002)。接続が拒否されました
-
minttyを使用している場合は、コマンドの前に'winpty'を付けてみてください。
-
dockerでgitlabをインストールする際にパーミッションの例外が発生する
-
docker-composeの使い方ガイド
-
UbuntuでDockerインストールしたgogsは、サービスを時々再起動するとアクセスできなくなります。