yanom blog

様々な技術について書きます

docker buildkitをsudo権限で試す

tl;dr

環境変数には気をつけましょう。

きっかけ

DockerCon参加報告 (docker buildが30倍以上速くなる話など)
この記事を読みまして、docker buildに対する不満がわかりみすぎたので、buildkitを試したくなりました。
基本的には参考サイトと同じようにすれば良いので割愛しますが、私がハマったポイントを残しておきます。

参考記事

以下の記事を参考にさせていただきました。
DockerCE18.06で使えるBuildKitを使おう
また、記事には書かれていませんが、各コマンドでsudoが必要な場合は適宜読み替えて下さい。

version

  $ sudo docker version
  Client:
   Version:           18.06.1-ce
   API version:       1.38
   Go version:        go1.10.3
   Git commit:        e68fc7a
   Built:             Tue Aug 21 17:24:56 2018
   OS/Arch:           linux/amd64
   Experimental:      false

  Server:
   Engine:
    Version:          18.06.1-ce
    API version:      1.38 (minimum version 1.12)
    Go version:       go1.10.3
    Git commit:       e68fc7a
    Built:            Tue Aug 21 17:23:21 2018
    OS/Arch:          linux/amd64
    Experimental:     true

ハマったポイント

  • 環境変数を引き継ぐ
    • buildkitを試すには以下の環境変数が必要です。
      sh export DOCKER_BUILDKIT=1
    • はじめは以前と同じようにsudo docker build .という風にコマンドを実行していましたが、前のbuildのままでした。
    • どうやら環境変数が引き継がれていないみたいでしたので、以下のように実行するとbuildkitでbuildすることが出来ました。
      sh sudo -E docker build .