日: 2019年8月28日

  • ERROR: Service ‘server’ failed to build: Error parsing reference: “node:10 as frontend-builder” is not a valid repository/tag: invalid reference format

    ERROR: Service ‘server’ failed to build: Error parsing reference: “node:10 as frontend-builder” is not a valid repository/tag: invalid reference format

    はじめに

    git cloneしたリポジトリで “` docker build “` を行ったところ、“` invalid reference format “`というエラーが発生したので、原因と対策について記載する。

    エラー内容

    docker build .
    Sending build context to Docker daemon 7.027 MB
    Step 1/18 : FROM node:10 as frontend-builder
    Error parsing reference: "node:10 as frontend-builder" is not a valid repository/tag: invalid reference format

    原因

    Dockerにmulti stage buildという事ができるようになった事をきっかけに、Dockerfileの書き方が数年前に変わった。

    この記事(https://qiita.com/minamijoyo/items/711704e85b45ff5d6405)にわかりやすく解説してある。

    multi stage buildの名前の通り、docker buildを複数のビルドに分割して実行できる。

    手元のdockerのversionを確認すると、確かに古かった。

    Client:
     Version:         1.13.1
     API version:     1.26
     Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
     Go version:      go1.10.3
     Git commit:      7f2769b/1.13.1
     Built:           Mon Aug  5 15:09:42 2019
     OS/Arch:         linux/amd64
    
    Server:
     Version:         1.13.1
     API version:     1.26 (minimum version 1.12)
     Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
     Go version:      go1.10.3
     Git commit:      7f2769b/1.13.1
     Built:           Mon Aug  5 15:09:42 2019
     OS/Arch:         linux/amd64
     Experimental:    false

    対処

    dockerをremoveし、最新のdocker(docker-ce)をインストールした。

    # rpm -qa | grep docker
    docker-common-1.13.1-102.git7f2769b.el7.centos.x86_64
    docker-client-1.13.1-102.git7f2769b.el7.centos.x86_64
    docker-1.13.1-102.git7f2769b.el7.centos.x86_64

    削除

    rpm -e docker
    rpm -e docker-client
    rpm -e docker-common

    その後、インストール。
    インストール手順は以下公式ドキュメントを参照。

    https://weblabo.oscasierra.net/docker-ce-install-centos7/