Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dive into BuildKit LLB with GO

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for po3rin po3rin
May 18, 2019

Dive into BuildKit LLB with GO

Go Conference Tokyo 2019 Spring の発表資料です。

H6 (S): Dive into Buildkit LLB with Go
Dockerに正式統合されたBuildKitをGoで扱う方法について発表します。

BuildKit は Goで実装されている為、Goのソースコードを読むことでGoを使ったDockerfile解析ツールや、独自のBuildKit LLB frontendを作成できます。

今回の発表ではGoでどのようにBuildkitが記述されているかをコードを追いながら、Goを使ったDockerfile解析ツールの作り方や、独自のコンテナイメージフロントエンドの作り方にも触れて行く為、Goでコンテナ技術を理解する大きな1歩になるでしょう。

Avatar for po3rin

po3rin

May 18, 2019
Tweet

More Decks by po3rin

Other Decks in Programming

Transcript

  1. Dive into BuildKit & LLB with Go Gopher Conference Tokyo

    2019 Spring April 12, 2019 @ po3rin
  2. QBHF CVJMELJUE CVJMEEFBNPO CVJMEDUM DPNNVOJDBUFT XJUICVJMELJUE H31$ buildctl & buildkitd

    Ὂ 5IFCVJMELJUEEBFNPOTVQQPSUTUXPXPSLFSCBDLFOET0$* SVOD BOEDPOUBJOFSE
  3. QBHF A foothold to read Go source code (1) Ὂ

    CVJMEDUMVTFT HJUIVCDPNVSGBWFDMJ QBDLBHF
  4. QBHF A foothold to read Go source code (2) Ὂ

    CVJMEDUMCVJMEDBMMT DMJFOU4PMWFNFUIPE8IBUJT UIFBSHVNFOUDBMMFEMMC 
  5. QBHF 7FSUFY &EHF 7FSUFY "UUIFDPSFPG#VJME,JUJTBOFXMPX MFWFMCVJMEEFpOJUJPOGPSNBUDBMMFE --# MPXMFWFMCVJMEFS  --#SFBMJ[FTQBSBMMFMFYFDVUJPOPG

    JOTUSVDUJPOTCZFYQSFTTJOH EFQFOEFODZBNPOHJOTUSVDUJPOTPG %PDLFSpMFBT%"( EJSFDUFEBDZDMJD HSBQI  Ὂ LLB
  6. QBHF Inside Dockerfile2LLB Ὂ %PDLFSpMF %PDLFSpMF"45 #VJMEBCMF4UBHFT --# 'JSTUPG"MM %PDLFSpMF1BSTFS

    HFOFSBUFT%PDLFSpMF"45'SPN UIFSF JUDSFBUFT#--UISPVHI WBSJPVTQSPDFTTFT
  7. QBHF 'SPOUFOE --# %PDLFSpMF HSQD #VJMELJUE CVJMEEFBNPO FYQPSU %PDLFSJNBHF DPOWFSU

    0SJHJOBM'SPOUFOE *OPUIFSXPSET JUJTQPTTJCMFUP JNQMFNFOUBOEQVCMJTIUIF PSJHJOBMGSPOUFOE
  8. QBHF Easy way to Create Custom Frontend Ὂ $SFBUFDPOWFSTJPOQSPDFTTGSPN BSCJUSBSZGPSNBUUP--#

    6TF(BUFXBZ"1*QSPWJEFECZ CVJMELJU #JOBSZJ[FUIFQSPDFTTBOEQVCMJTIJU BTB%PDLFSJNBHF 1 2 3
  9. Dive into BuildKit & LLB with Go Gopher Conference Tokyo

    2019 Spring April 12, 2019 @ po3rin
  10. QBHF Use BuildKit Gateway API (4) Ὂ 4PMWF $MJFOU FYCVJMEDUM

    $POUPMMFS (BUFXBZ"1* 'SPOUFOE 3VOT*OEPDLFSDPOUBJOFS