éŤĺşŚăŞ Docker ăăŤă
ă¤ăĄăźă¸ăŽăăŤăăŻăăłăłăăăćä˝ăăéăŽä¸čŹçăŞćšćłă§ăă ăăăăăăăŻăŠăŽăăăŤćŠč˝ăăžăă? ăăŤăăźă¨ăŻä˝ă§ăă? ăžăăăăŤăé庌ă¨ăăŁăăˇăĽä˝żç¨éăć大ĺăăăăăŤăăŠăŽăăăŞć§ćăŞăăˇă§ăłăăăăžăă?
ăăŽăťăăˇă§ăłă§ăŻăăăăăŽăăăăŻă¨ăäťăŽăăă¤ăăŽéŤĺşŚăŞăăŤă ăăăăŻăŤă¤ăăŚčŠłăă誏ćăăžăă BuildKit 㨠buildxăăŞă˘ăźă ăăŁăăˇăĽçŽĄçăăăŤăă˘ăźăăăŻă㣠ăăŤăăŞăŠăŤă¤ăăŚĺŚçżăăžăă ăžăăDocker Build Cloud ă使ç¨ăăă¨ăăăšăŚăŽă¤ăłăăŠăšăăŠăŻăăŁă¨ć§ćăčŞĺă§çŽĄçăăăă¨ăŞăăăăăăŽéŤĺşŚăŞăăăăŻăç°ĄĺăŤĺŽčĄă§ăăćšćłăŽäžăăăă¤ăç´šäťăăžăă
ĺă
ăăăŤăĄăŻăăăŽăťăăˇă§ăłă§ăŻăéŤĺşŚăŞăăŤăăŽăăăăŻăŤă¤ăăŚčŠłăă誏ćăăžăă ăăŠăźăŤăšă¨ăŞă˘ăŻĺşćŹçăŤăDockerfileă¨ĺŽéăŤăăŤăăăăă¤ăĄăźă¸ăŽéăŽăăšăŚă§ăăăăăŤăä¸ăŤĺŽéăŤä˝ă辡ăăăăŤçŚçšăĺ˝ăŚăŚăăžăă ăŠăŽăăăŞăăźăŤăé˘äżăăŚăăžăă? ăăŤăăăăŠăźăăłăšăć大ĺăăăŤăŻăŠăăăă°ăăă§ăăăă? ăŠăŽăăăŞăŞăăˇă§ăłăăăăžăă? çš°ăčżăăŤăŞăăžăăăDockerfile ă¨ĺŽéăŤăăŤăăăăă¤ăĄăźă¸ăŽéăŽăăšăŚă§ăă ăăŽăăăŤăç§ăăĄăŻăăŽă˘ă¸ă§ăłăăŤĺžăăžăă ăžăăă¤ăĄăźă¸ăăŤăăźăăĺ§ăăŚăăłăłăăăšăăŤă¤ăăŚĺ°ăă芹ăăăžăă ăăă§ăŻăăăŤăă˘ăźăăăŻăăŁă¤ăĄăźă¸ăăăŁăăˇăĽçŽĄçăŞăŠăbuildxăŤäťĺąăăéŤĺşŚăŞćŠč˝ăŽä¸é¨ăŤă¤ăăŚčŞŹćăăžăă ăžăăDocker BakeăŞăŠăăăŽĺéă§ăŽć°ăăŞéçşăŤă¤ăăŚăă芹ăăăžăă ăžăăDockeră§Dockeră使ç¨ăăăăŞăĺ ´ĺăććăŤă¤ăăŚăŻăDockeră§DockerăŤă¤ăăŚĺżé ăăĺż čŚăăŞăăăăŤăăäťăŽăăźăŤăŤă¤ăăŚčŞŹćăăžăă
çŽćŹĄ
- ă¤ăĄăźă¸ăăŤăăźă¨ăłăłăăăšă (0:52)
- buildx ăŽä˝żç¨ (6:54)
- ăăŤăă˘ăźăăăŻăăŁăăŤă (13:22)
- ăăŁăăˇăĽçŽĄç (19:37)
- ăă¤ăŻă§ăăŤă (24:19)
- Docker in Docker (DinD) (27:00)
- 芳細ć ĺ ą
ă¤ăĄăźă¸ăăŤăăźă¨ăłăłăăăšă (0:52)
ăžăăă¤ăĄăźă¸ăăŤăăźă¨ăłăłăăăšăăŤă¤ăăŚă芹ăăăžăăăă çš°ăčżăăŤăŞăăžăăăĺŽéăŤDockerăăŤăăłăăłăă§Enterăăźăćźăă¨ăŠăăŞăăžăă? ăăŚăăŹăŹăˇăźăăŤăăźăŤă¤ăăŚĺ°ăć ĺ ąăćäžăăăă¨ăăĺ§ăăăă¨ăéčŚă§ăă ĺşćŹçăŤăç§ăăĄăŻăŠăăăćĽăăŽă§ăăăă? ăăăŻăDocker ă¨ăłă¸ăłăŤĺŤăžăăŚăăĺ ăŽăăŤăăźă§ăă ăăŽăăăDocker buildăĺŽčĄăăă¨ăăăŽăŹăŹăˇăźăăŤăăźă使ç¨ăăăžăăă ăăŚăăťă¨ăăŠăŽĺ ´ĺăDockerfileăŽăšăŻăŞăăăŤĺžăŁăŚă1ă¤ăŽĺ˝äť¤ăă揥ăŽĺ˝äť¤ă¸ăăăăŚćŹĄăŽĺ˝äť¤ă¸ă¨ă¤ăĄăźă¸ăçćăăă ăă§ăăă ăăăăăăăŻăăŞăĺşćŹçăŞăă¨ă§ăăăăžăăă ăăŤăăšăăźă¸ăăŤăăŽé常ăŤĺşćŹçăŞăľăăźăăăăăžăăă ăăăŚăžăăä¸ćŠä¸ćŠčŞăă§ăăăŽă§ăăăšăŚăŽć示ă¨é çŞăčŞăżĺăăžăăă ăăăŚăăăăŻĺşćŹçăŤăĺ¤ćŽľéăăŤăăŽçŽć¨ăŤĺ°éăăăžă§ăăăčĄăăžăăă ăăăăŁăŚăč¤ć°ăŽăšăăźă¸ăăăĺ ´ĺăćçľăăŤăăŤăăĺż čŚăŞăăŁăä¸éăšăăźă¸ăć§çŻăăăĺŻč˝ć§ăăăăăžăă ăăăăçš°ăčżăăŤăŞăăžăăăăăăŻĺžćĽăŽăăŤăăźăŽéçăŽä¸é¨ăŤăăăžăăă§ăăă ăžăăĺžćĽăŽăăŤăăźă§ăŻăăăŤăă˘ăźăăăŻăăŁăŽă¤ăĄăźă¸ăĺŽčĄăăăă¨ăă§ăăžăăă ăăăăŁăŚăAMD 64ăćŚčŁ ăăăĺż čŚăăăĺ ´ĺăăăăŻă§ăăžăăă§ăăă ăăă§ăăé常ăŤăˇăźăąăłăˇăŁăŤăŞĺąéă§ăăă ăăăDockerăăĄă¤ăŤă§ăă ăăăăšăŻăŞăăă§ăă 揥ăŤăă¤ăĄăźă¸ăăăŤăăăžăă
ăăŽăăă 2017ĺš´é ăă¤ăžăăăŞăĺăŽăă¨ă§ăăăć°ăăĺăçľăżă¨BuildKită¨ăăć°ăăăŞăźăăłă˝ăźăšăăă¸ă§ăŻăăăžă¨ăăăăžăăă ăăăŚăBuildKităŻăăăăăŽĺéĄăŽĺ¤ăă罎ăćăăŚäżŽćŁăăăăăŤč¨č¨ăăăŚăăžăă ăăăŚăăăŽäťçľăżăŻăçľĺąăŽă¨ăăăé常ăŤä˝ăŹăăŤăŽăăŤăĺŽçžŠĺ˝˘ĺźă§ăăă¨ăăăă¨ă§ăă ĺşćŹçăŤăŻăăšăăăăăăźăăĺŽčĄăč¨ĺŽăŞăŠăăăšăŚăŽă°ăŠăăăžă¨ăăăăŚăăžăă ăăăŤăăăćçľĺşĺăć§çŻăăăăăŽĺŽčĄăăŠăłăä˝ćă§ăăžăă ă¤ăžăă䝼ĺăŻăăŤăăé 揥ăŤăăé˛ăăŞăăŁăăŽăăäťă§ăŻăăŤăă丌čĄăăŚĺŽčĄă§ăăăăăŤăŞăŁăăŽă§ăă ăžăăăăăŻé常ăŤä˝ăŹăăŤăŽăăźăŤă§ăăăăăBuildKit ăç´ćĽćä˝ăăăă¨ăŻăťă¨ăăŠăăăžăăă ăťă¨ăăŠăŽĺ ´ĺăBuildKit ăŽä¸ăŤć§çŻăăăăăźăŤăćä˝ăăăă¨ăŤăŞăăžăă ăăăăBuildKităŻăăăŁăăˇăłă°ăĺćŁăŻăźăŤăźăć°ăăăăăłăă¨ăłăăŞăŠăŽć°ćŠč˝ăŤĺŻžăăĺ¤ăăŽăľăăźăăćäžăăžăă çš°ăčżăăŤăŞăăžăăăĺžćĽăŽăăŤăăźăĺşćŹçăŤăăŤăăăŚé çŞăŤĺŽčĄăăŚăăăŽăŤĺŻžăăBuildKit ăŻă°ăŠăăŽăăăŤčăăŚăă ăăăă°ăŠăă§ăŻăăăšăŚăŽăšăăăăă°ăŠăĺ ăŽăăźăă¨ăăŚćŚčŞŹăăăŚăăžăă
BuildKităĺŽčĄăăăŤăŻăăŠăăă§ĺŽčĄăăĺż čŚăăăăžăă BuildKit ăăšăżăłăă˘ăăłă§ĺŽčĄăăăă¨ăă§ăăžăăăăťă¨ăăŠăŽĺ ´ĺăăăăčĄăăă¨ăŻăăăžăăă Docker DesktopăŤăŻBuildKităăźă˘ăłăĺŤăžăăŚăăžăăăDocker DesktopăŤăžă ćŽăŁăŚăăăŹăŹăˇăźăˇăšăă ăŽä¸é¨ăĺźăĺşăăăŚăăăăăçžĺ¨ăăă¤ăăŽĺśéăăăăžăă ăăŽăăăăă¨ăă°ăDocker Desktop ăŤçľăżčžźăžăăŚăăĺžćĽăŽă¤ăĄăźă¸ ăšăă˘ă§ăŻăăăŤăă˘ăźăăăŻă㣠ă¤ăĄăźă¸ăăľăăźăă§ăăžăăă ăăăăŁăŚă1ă¤ăŽă˘ăźăăăŻăăŁăć§çŻăăŚäżĺăăăă¨ăăă§ăăžăăăăč¤ć°ăŽă˘ăźăăăŻăăŁăĺŚçăăăă¨ăŻă§ăăžăăă ăăŽăăăçľăżčžźăżăŽ BuildKit ăăźă˘ăłăĺăĺśéăŤç¸ăăăžăă ăăŽăŹăŹăˇăźă¤ăĄăźă¸ăšăă˘ăcontainerdăŤç§ťĺăăĺŞĺăăăăăăăŤăăŁăŚăăăăŽĺéĄăŽĺ¤ăăč§Łćąşăăăžăă ăžăăçťĺăŤć§ć訟ćă桝äťăăăă¨ăă§ăăžăă ăă¨ăă°ăSBOMăăăŤăăŽĺşćăŞăŠă§ăă ăăăăăăŽä˝ćĽăŻăžă é˛čĄä¸ă§ăă
Docker buildx ăŻăé常ćä˝ăăăăźăŤă§ăăăăăă BuildKit ăŽä¸ăŤć§çŻăăăžăă ăžăăăă㯠BuildKit ăŽĺ¤ăăŽćŠč˝ăĺ Źéăă CLI ăłăăłăă§ăă ăă¨ăă°ăBuildKit BuildersăăăŤăă˘ăźăăăŻăăŁăăŤăăä˝ćă§ăăžăă ăžăăéŤĺşŚăŞăăŁăăˇăĽçŽĄçăSBOMăŽćĽć´ä˝ćăĺŚçă§ăăžăă Docker Desktop 4.19ă Docker Build ăŻăĺŽéăŤăŻ Docker buildx Build ăŤă¨ă¤ăŞă˘ăšăäťăăăăŚăăžăă ă¤ăžăăĺŽéăŤăŻçĽăăçĽăăăŽăăĄăŤBuildKită使ç¨ăăŚăăăăăăăžăăăăăăă§ăDockerăăŠă¤ăăźă使ç¨ăăŚăăăŽăŻăăăăŤă¤ăăŚăŻć°ĺĺžăťăŠă芹ăăăžăă ăăăŚăăăŽDockerăăŠă¤ăăźăŻăĺşćŹçăŤă¨ăŻăšăăźăăă¤ăĄăźă¸ăĺĺžăăăŹăŹăˇăźă¤ăĄăźă¸ăšăă˘ă§ĺä˝ăăăăăŤä˝ćăăŚăăžăăă ăăăŚăăăă§ăŻăăŠă¤ăăźăŤă¤ăăŚăăĺ°ă芳ăă誏ćăăžăă ăăŚăbuildxăćäžăăäťăŽăăŽăŽ1ă¤ăŻăăŞă˘ăźăăăŤăăźă使ç¨ăăćŠč˝ă§ăă ăăŽăăăăăźăŤăŤăŽ BuildKit ăăăźăŤăŤ ăăˇăłä¸ăŽăăŽă使ç¨ăăĺż čŚăăăăăžăăă ăăŽăăăŤăDockerăłăłăăăšăă¨ĺźă°ăăăăŽăć´ťç¨ăăžăă Docker ăŽăłăłăăăšăă¨ăłăłăăăšăăŻăăăŤăă ăăŽçŻĺ˛ăčś ăăŚăăžăă ăăăăăłăłăăăšăăŤăăăĺşćŹçăŤăăźăŤăŤ CLI ăŻäťăŽă¨ăłă¸ăłăŤĺŻžăăŚĺä˝ă§ăăžăă çľĺąăŽă¨ăăăDocker CLI ăŻăDocker ă¨ăłă¸ăłăŤăăŁăŚĺ Źéăăăă¨ăłă¸ăłă¨ĺŻžčŠąăăŚăă REST ăŻăŠă¤ă˘ăłăăŤăăăžăăă ăăăŚăăăŽă¨ăłă¸ăłăŻăăźăŤăŤă§ăăŞă˘ăźăă§ăăăžăăžăăă ăăŽăăăăăăŠăŤăăŽăłăłăăăšăăŻăăăźăŤăŤăăˇăłăŤăăă¨ăłă¸ăłă使ç¨ăăă ăă§ăă ăă ăăäťăŽăăˇăłăćăăłăłăăăšăăä˝ćăăăă¨ăŻă§ăăžăă
ăă¨ăă°ăDocker context create ăŻć°ăăăłăłăăăšăăä˝ćăăăłăłăăăšăăăŞăšăă˘ăŚăăăăăć°ăăăłăłăăăšăă使ç¨ăăăă§ăăžăă ăăăŚăăăă§ăŽ2ă¤ăŽäžăŻăćĺăŽăăŽăŻăłăłăăăšăăä˝ćăăSSHăŽäžă¨ĺäťăăžăăăăăŻDockerăłăłăăăšăă§ăăăăŞă˘ăźăăăˇăłăŤćĽçśăăćšćłăŻćŹĄăŽă¨ăăă§ăă ăăŽĺ ´ĺăSSH ă使ç¨ăăžăă 2 çŞçŽăŽäžăŻ TLS ăŽäžă§ăTLS ă¨ăłăăă¤ăłăăäťăăŚă¨ăłă¸ăł API ăĺ ŹéăăŚăă Docker ă¨ăłă¸ăłă¨ĺŻžčŠąăăžăă ăăŽĺ ´ĺă訟ćć¸ăăźăšăŽčŞč¨źăčĄăŁăŚăăăăăCA訟ćć¸ăç§ĺŻéľăŞăŠăŽčŠłç´°ăŻćŹĄăŽă¨ăăă§ăă ăăă§ăăăăăŠăŤăăŽăłăłăăăšăăŻăăźăŤăŤăŽDockeră¨ăłă¸ăłăćăăŚăăăăă¨ăă°SSHăłăłăăăšăă使ç¨ăăŚăłăăłăă使ç¨ăĺ§ăăă¨ăăăźăŤăŤă¨ăłă¸ăłăăŻă¨ăŞăă䝣ăăăŤăăŞă˘ăźăăăˇăłä¸ăŽă¨ăłă¸ăłăăŻă¨ăŞăăžăă ăă ăăăăŽĺăŤăĺŽéăŤăŻăăŽăăˇăłăŤSSHćĽçśăăă¨ăłă¸ăłăŤăŻă¨ăŞăĺŽčĄăăŚăăçľćăéăčżăăžăăăăăźăŤăŤCLIăŤăŻĺźăçśă襨示ăăăžăă ăăŽăăăĺŽéăŤăŻăŞă˘ăźăă§ăăˇăłăŤSSHćĽçśăăŚăăăŤăăăăăăăăăźăŤăŤă§ăăăăăŤćăăăăžăă TLS ăŽäžăŻăć§ćăăăŚăă訟ćć¸ă使ç¨ăăŚăăăŽăŞă˘ăźă ăăˇăłăŤç´ćĽĺ ŹéăăăŚăă API ă¨é俥ăăă ăă§ăă ăăŚăăăă§ăŽčćŻăŻĺ°ăă§ăă
buildx ăŽä˝żç¨ (6:54)
ăăŚăbuildXăŻăăăăŤäťéăăăăă¤ăăŽăă桹ăäžă¨ćŠč˝ă§ăăăbuildxă使ç¨ăăă¨ăăăžăăžăŞBuildKităăźă˘ăłăä˝ćă§ăăžăă ĺ ăťăŠčż°ăšăăăăŤăDocker DesktopăŤăăłăăŤăăăŚăăăăŽăŻăçžĺ¨ăDocker DesktopăĺžćĽăŽă¤ăĄăźă¸ăšăă˘ăŞăŠăŤĺŻžăăŚćăŁăŚăăĺśéăŤç¸ăăăŚăăžăă ăăăăĺĽăŽăăŤăăźăä˝ćăăĺşćŹçăŤăŻăłăłăăĺ ă§ĺŽčĄăăŚăăă ăăŽçść ă§é 罎ăăăă¨ăă§ăăžăă ăăăŚăăăŽăăŤăăźăŻăBuildKităăźă˘ăłăŽăăšăŚăŽćŠč˝ăťăăăćă¤ăă¨ăă§ăăžăă ăăŽăăăăăŤăă˘ăźăăăŻăăŁăăŤăăSBOMăŞăŠăĺŽčĄă§ăăžăă ăăăăŁăŚăăă¨ăă°ăDocker buildx createăĺŽčĄăăăăŠăăăăŠăźă ăćĺŽă§ăăžăă ăăŽĺ ´ĺă2ă¤ăŽăăŠăăăăŠăźă ă§ăă ăăăŤăăăăăŤăă˘ăźăăăŻăăŁăŽăăŤăăźăä˝ćăăăçćăăăĺĺă使ç¨ăăăžăă ăžăăăăŽăăŤăăźăŻăč¤ć°ăŽă˘ăźăăăŻăăŁăŽăăŤăăĺŽčĄă§ăăăăăŤăŞăăžăă çžĺ¨ăéăă¤ăăŁăă˘ăźăăăŻăăŁă§ăŻăQEMUă¨ăăĽăŹăźăˇă§ăłă使ç¨ăăă ăă§ăă ăăăăŁăŚăăă¤ăăŁăăŽé庌ă§ĺŽčĄăăăăă¨ăŻćąşăăŚăăăžăăă ăăăăäťăŽă˘ăźăăăŻăăŁă使ç¨ăăŚăăŤăăčĄăăă¨ăŻă§ăăžăă ăăŤăăźăăŞăšăă˘ăăăăăă¨ăă§ăăăăŽăăŤăăźă使ç¨ăăăă¨č¨ăăă¨ăă§ăăăăăĺ°ćĽăŽăăŤăăŽăăăŠăŤăăăŤăăźă¨ăăŚč¨ĺŽăăžăă
ăăŚăĺăŤčż°ăšăăăăŤăç§ă使ç¨ă§ăăäťăŽăăŠă¤ăăźăăăăžăă ăăăŚăăăăăŽăăŠă¤ăăźăŻăăăăŻă¨ăłăă§ăŽBuildKităŽĺä˝ăĺ°ăĺ¤ăăžăă ăăŽăăăĺčż°ăăăăăŤăDocker ăăŠă¤ăăźăŻ BuildKit ăŠă¤ăăŠăŞăă¤ăžă Docker ăăźă˘ăłăŤăăłăăŤăăăŚăă BuildKit ăăźă˘ăłăă¤ăžă Docker ăăšăŻăăăăŤăăłăăŤăăăŚăăăăźă˘ăłă使ç¨ăăžăă ăžăăă¤ăĄăźă¸ăă¨ăŻăšăăźăăăŚăDocker ăăšăŻăăăăŤăăłăăŤăăăŚăăă¤ăĄăźă¸ ăšăă˘ăŤäżĺăăžăă Docker ăłăłăă ăăŠă¤ăăźăŻăăłăłăăĺ ă§ BuildKit ăĺŽčĄăăăăŠă¤ăăźă§ăă Kubernetesă§ăŻăBuildKităăăă¨KubernetesăŻăŠăšăżăźăä˝ćăăžăă ă§ăăăăăăŤăăčĄăăăłăŤăĺşćŹçăŤä˝ăă辡ĺăăKubernetesăŻăŠăšăżă§ć°ăăăăăă辡ĺăăžăă ăžăăăŞă˘ăźăă使ç¨ăăă¨ăăŞă˘ăźăăăŤăăźăŤăćĽçśă§ăăžăă ăžăăăšăŠă¤ăăŽä¸é¨ăŤçšĺž´éăăăŞăăŻăšăŽç¨ŽéĄă¨ăăăăăăŤäťéăăăăžăăžăŞćŠč˝ă確čŞă§ăăžăă ăžăăDocker ăăŠă¤ăăźăŽćŠč˝ăŻĺ°ăŞăă§ăăăă¤ăĄăźă¸ăčŞĺçăŤă¤ăĄăźă¸ ăšăă˘ăŤčŞăżčžźăżç´ăăć§ć訟ćăŽăŞă 1 ă¤ăŽă˘ăźăăăŻăăŁăŞăŠă§ăăăă¨ăăăăăžăă ăăă§ăăăăăŽäťăŽçťĺăăăźăă§ăăžăă ăăŤăăčĄăă¨ăăŤćĺŽăăă ăă§ăă
ăăŚăăăăăăžăă¨ăŻăšăăźăăăăăăŤăç§ăă§ăăăă¨ăăăă¤ăăăăžăă ăăăŚăăăăŻĺŽéăŤăŻä¸ç¨ŽăŽĺŞăăćŠč˝ăŽä¸é¨ă§ăă é常ăDockerăăŤăăčĄăă¨ăăŻăă¤ăĄăźă¸ăăăŤăăăŚă¤ăĄăźă¸ăšăă˘ăŤäżĺăăžăă ăăăăăăăŤăăăăăŤăă§äťăŽăă¨ăă§ăăäťăŽćŠäźăăăă¤ăéăăăžăă ăăśăăăăŤăăčĄăăăă¨ćăŁăŚăăŚăĺŽéăŤă¤ăĄăźă¸ătarballă¨ăăŚäżĺăăăĺ ´ĺăŻăŠăă§ăăăăăăăŽăăŤăăĺĺžăăUSBăăŠă¤ăăŤĺ ĽăăŚă¨ă˘ăŽăŁăăăăăăŻăźăŻăŤç§ťĺăăăăăŤă¤ăĄăźă¸ăăăźăăăăăă§ăă OCIă¨ăŻăšăăźăżăźă使ç¨ăăŚăOCIă¤ăĄăźă¸ăŹă¤ă˘ăŚă形ĺźă§ăăźăŤăŤăăĄă¤ăŤăˇăšăă ăŤă¨ăŻăšăăźăă§ăăžăă ăăăŚăăăăŻĺŽéăŤăăăćĄĺ¤§ăăžăă ăăśăăç§ătarballăăăăăăŽă§ăăăăĺăăăăăăăăăŤă ăăăăăăă§ăĺ¤ăăŽç°ăŞăäžăăăăžăă ĺŽéăăăă§ăŻçŤŻćŤăŤĺăćżăăŚăăăă§ăŻăăŽä¸é¨ăăă˘ăłăšăăŹăźăˇă§ăłăăžăă
ăăăăŁăŚăDockerăăŤăăĺŽčĄăăŚĺşĺăčĄăĺ ´ĺătype=ociăăăăŚăăăăăă§tarăŤă¨ăŻăšăăźăăăă ăă§ăă ăăăŤăăăăăŤăăăăŞăŹăźăăăăăă§ĺŽéăŤăŻăŠăŚăăăŤăăźă使ç¨ăăŚăăăă¨ăăăăăžăă ăăăŻDocker Build CloudăăăŽăăŽă§ăăăă§ăăăŤčŞŹćăăžăă ăăăŚăăăŽăăŤăăăăă§ĺŽčĄăăĺžăé常ăŤĺç´ăŞReactă˘ăăŞăąăźăˇă§ăłăć§çŻăăŚăăă ăă§ăă ăăŤăăĺŽäşăăă¨ătarball ăéăăăăă¨ăăăăăžăă ăăăŚăĺŽéăŤăŻçťĺă¨ăăŚäżĺăăŚăăžăăăăăăă§oci-export.tarăčŚăăă¨ăă§ăăžăă ăăăŚăć°ăăăăŁăŹăŻăăŞăä˝ćăăžăăăă ăăăŚăăăŽăżăźăŤăăăăŤăłăăźăăŚăăăăćĄĺźľăăžăăăă JQă使ăŁăŚăżăăă ăăăŤäťéăăăăăă§ăšăă¨ăăăšăŚăŽĺă ăŽăŹă¤ă¤ăźăŽăăšăŚăŽăăăăŞăŠă襨示ăăăžăă ăăăăŁăŚăçš°ăčżăăŤăŞăăžăăăOCI形ĺźăŽtarballă¨ăăŚă¨ăŻăšăăźăăăăžăă ăăŚăăăă§ăç§ăŤă§ăăăă¨ăŻäťăŤăăăăžăă ăăăăŁăŚăăăŽDockerfile(ăăăŠăŤăăŽăăŽ)ăŻăăăŽReactă˘ăăŞăąăźăˇă§ăłăăăŤăăăŚnginxăłăłăăăŤĺ Ľăăžăă ăăăăä˝ăăăŽççąă§ănginxăłăłăăăŤĺ Ľăă䝣ăăăŤănginxăłăłăăăŤăłăăźăăŚăăăăŽăăŤăăŽçľćăă¨ăŻăšăăźăăăăă ăăăăăăžăăă ăăăăăăĄă¤ăŤăˇăšăă ăŤčźăăăă ăăŽĺ ´ĺăŻăŠăă§ăăăă? ăăăă¤ăăăťăšăéăăăăăăŞăăăDockeră使ăŁăŚăăŤăăăăăăŠăĺŽéăŤăŻéçăŞHTMLă˘ăťăăăŞăŽă§ăS3 ăăąăăăŤĺ ĽăăŚCloudFrontCDNă§é ĺ¸ăăă¤ăăă ăăă§ăăăžăăăăăŻă§ăăžăă ăăă§ăŻăäťăŽDockerfileăćĺŽăăžăăăă ĺşĺtype=locală使ç¨ăăžăă ă¨ăŻăšăăźăă¨ăăăăźăŤăŤăăŠăŤăă¨ăăŚĺŽĺ ăč¨ĺŽăăžăă ăăăŚäťăăăăĺŽčĄăăăă¨ăăłăłăăăšăăŽĺă˘ăăăăźăăŤăŻOCIĺşĺăĺŤăžăăăăăăăšăŚăă˘ăăăăźăăăăŽăŤĺ°ăćéăăăăăžăăă ăăăăăăŽĺ ´ĺăăŻăŠă¤ă˘ăłăăăŁăŹăŻăăŞăŤă¨ăŻăšăăźăăăăŚăăăă¨ăăăăăžăă ç´ 151 ăăăă¤ăăăłăăźăăžăăă ăăăŚäťăă¨ăŻăšăăźăăăŁăŹăŻăăŞăčŚăă¨ăăăăŤăăŤăăăăĺşĺă襨示ăăăžăă ăăăŚăăăăŻç§ăŽReactă˘ăăŞăăăŽç§ăŽindex.htmlă ăă§ăŞăăäťăŽJavaScriptă¨CSSăŽă˘ăťăăăĺžăŚăăžăă ăăăăŁăŚăçš°ăčżăăŤăŞăăžăăăăăăăŽă¨ăŻăšăăźăżăźă使ç¨ăăă¨ăăăŤăăŽĺşĺăĺ¤ć´ă§ăăžăă ăăăŚăžăăăăŽDockerfileăăŠăŽăăăŤčŚăăăă示ăăăăŤăăăŽĺ ´ĺăç§ăŻăźăăăĺ§ăăžăăă ăăăŚăĺăŽćŽľéăăäżćăăăăŁăăăĄă¤ăŤăĺĺžăăŚăăžăă ăăăŚăăăă§ăŻăăăăăăĄă¤ăŤăˇăšăă ăŽăŤăźăăŤç˝ŽăăŚăăžăă ă¤ăžăăăŤăźăăŤăăăăšăŚăŽăăĄă¤ăŤăăăăŽăăźăŤăŤăăŁăŹăŻăăŞăŤă¨ăŻăšăăźăăăăă¨ăăĺăăăĄă¤ăŤăˇăšăă ć§é ăŤĺžăăžăă çš°ăčżăăŤăŞăăžăăăăăžăăžăŞăăźăşăŤĺżăăŚć´ťç¨ă§ăăăăžăăžăŞčź¸ĺşćĽč ăăăŞăăăăžăă
ăăŤăă˘ăźăăăŻăăŁăăŤă (13:22)
ă§ăŻăăăŤăă˘ăźăăăŻă㣠ăăŤăăŤă¤ăăŚĺ°ăă芹ăăăžăăăă ă§ăŻăăăŤăă˘ăźăăăŻăăŁăăŤăăŻăŞăéčŚăŞăŽă§ăăăă? ăŞăĺż čŚăŞăŽă§ăă? ç§ăăĄăŻăăăăăăŠăŽăăăŞäžĄĺ¤ăĺžăŚăăăŽă§ăăăă? ăăăŚăăăă§ăŽçăăŻăćăăăŤăăŞăăŽçľçšăŤĺ¤§ăăäžĺăăžăă ăăăăćĺăŤăă¤ăăŞăă¤ăžă 0 㨠1 ăŤă¤ăăŚčăăă¨ăăăăăŻçšĺŽăŽ CPU ă˘ăźăăăŻăăŁăŤă¨ăłăłăźăăăăžăă ăžăăăăšăŚăŽCPUă˘ăźăăăŻăăŁăŤăŻç°ăŞăĺ˝äť¤ăťăăăăăăžăă ăă¨ăă°ăARMăŻAMDăŞăŠă¨ăŻĺ˝äť¤ăťăăă大ăăç°ăŞăăžăă ăžăăăŞăăŹăźăăŁăłă°ăˇăšăă ăç°ăŞăăžăă ăăăăŁăŚăWindowsă¨Linuxă§ăŻăăă¤ăăŞăŻĺ¤§ăăç°ăŞăăžăă ă§ăăăăćĺéă1ă¤ăŽçťĺăćŽăŁăŚă1ĺä˝ăă°ăŠăă§ăéăšăăăă§ăŻăăăžăăă ăăŽă˘ăăŞăąăźăˇă§ăłăĺŽčĄăăăăžăăžăŞ CPU ă˘ăźăăăŻăăŁă¨ăŞăăŹăźăăŁăłă° ăˇăšăă ăă¨ăŤăăăŽă¤ăĄăźă¸ăä˝ćăăĺż čŚăăăăžăă çžĺ¨ăĺ¤ăăŽéçşč ăŻăçšăŤAppleăŽăŠăăăăăă§ăARMăăźăšăŽăăˇăłă使ç¨ăăăăăžăăžăăˇăăăăŚăăăăăăăŽĺ¤ăăŻARMăăźăšăŽAppleăˇăŞăłăłăăˇăłă使ç¨ăăŚăăžăă ăăăăăăĺ¤ăăŽWindowsăăˇăłăăăŞăźăăŤĺĺ Ľăĺ§ăăŚăăăŽăčŚăăăžăă ăăăŚăăăăăŽĺ¤ăăŻARMăăźăšă§ăăăăžăă ăăŽăăăéçşč ăŽăŻăźăŻăšăăźăˇă§ăłăŤăŻăăžăăžăŞç°ĺ˘ă桡ĺ¨ăăăąăźăšăčŚăăăžăă ă˘ăăŞăąăźăˇă§ăłăăăăă¤ăăăă¨ăĺ¤ăăŽäşşă ăăŻăŠăŚăă§ARMăăźăšăŽăăˇăłă使ç¨ăĺ§ăăžăăăăăŻăă¨ăăŤăŽăźĺšçăéŤăăĺŽčĄăłăšăăä˝ăăăă§ăă ă§ăăăăăăŽĺçăŻéčŚă§ăă ă§ăăăăARMăăźăšăŽă¤ăĄăźă¸ăç°ĄĺăŤć§çŻăăćšćłăăăăă¤ăłăăŠăšăăŠăŻăăŁăŽăłăšăăçŻç´ăăăă¨ăă§ăăăăăŤăŞăŁăă¨ăăăăăŞăăăă§ăă ăăăŚćĺžăŤăăăŤăă˘ăźăăăŻăăŁă¤ăĄăźă¸ăŻé¸ćč˘ăćäžăăžăă ăăĄăăăăăă§ăŻMacă§čľ°ăŁăŚăăžăă ç§ăŽăăˇăłăŻAMD 64 ă¤ăĄăźă¸ăĺŽčĄă§ăăžăă ăăăăăăĄăăăăă¤ăăŁăăŽé庌ă§čľ°ăăăă§ăŻăŞăăăăăŠăźăăłăšăŽä˝ä¸ăäź´ăăžăă ăăŚăăăŽĺăă¤ăĄăźă¸ăč¤ć°ăŽă˘ăźăăăŻăăŁă§ĺŠç¨ĺŻč˝ă§ăăŁăĺ ´ĺăç§ăŤăŻé¸ćč˘ăăăăăăăŻç§ăŤă¨ăŁăŚăăéŠĺăŤćŠč˝ăăžăă ăžăăäťăŽăăŚăłăšăăŞăźă ăŚăźăśăźăĺźăŁĺźľăă˝ăăăŚă§ă˘ăä˝ćăăŚăăçľçšă§ăăă°ăçš°ăčżăăŤăŞăăžăăă彟ăăŤăé¸ćč˘ăä¸ăăăăžăă
çš°ăčżăăŤăŞăăžăăăäşşă ăăăŤăă˘ăźăăăŻăăŁăăăăăççąăŻăăăăăăăžăă ăăŚăăăŽăăŤăăčĄăćšćłăăăăžăă ăăŤăă¤ăłăăăBuildKităŻăQEMUă使ç¨ăăŚéăă¤ăăŁăă˘ăźăăăŻăăŁăă¨ăăĽăŹăźăăăžăă ăăăăŁăŚăăăŽäžă§ăŻădocker buildx createăĺŽčĄăăŚăăŤăăźăä˝ćăăăăŠăăăăŠăźă ăćĺŽăăžăă ăăăŚăăăŽăăŤăăĺŽčĄăăăă¨ăăă¤ăăŁăă˘ăźăăăŻăăŁăăă¤ăăŁăé庌ă§ĺŽčĄăăăăăŽăŻăăšăŚä˝żç¨ăăăžăăăéăă¤ăăŁăă˘ăźăăăŻăăŁăŻQEMUă¨ăăĽăŹăźăˇă§ăłă使ç¨ăăžăă çš°ăčżăăŤăŞăăžăăăăăžăăăăŽă§ăăăăăŞăé ăăă¨ăĺ¤ăăŽă§ăă ăžăăCIăă¤ăăŠă¤ăłă§ăŻăă¸ă§ăăĺä¸ăŽăă¤ăăŠă¤ăłă§ĺŽčĄăăăŚăăĺŻč˝ć§ăăăăăăăăăŻćăăăŤĺä¸ăŽă˘ăźăăăŻăăŁăŤăă¤ăłăăăăŚăăăăăăăăŤăăééăăžăă ăăăăç§ăŻč¤ć°ăŽă˘ăźăăăŻăăŁç¨ăŤć§çŻăăăă¨čăăŚăăžăă ăăăŤă¤ăăŚăŻăăăă§ăăăŤă芹ăăăžăă çš°ăčżăăŤăŞăăžăăăQEMUă¨ăăĽăŹăźăˇă§ăłăçľăżčžźăžăăŚăăžăă ćéŤă§ăŻăăăžăăăăăăăŤăŻăăăžăă
ăăĺ°ăDIYăŽă˘ăăăźăăăăăäşşăŽăăăŤăăă¤ăăŁăăŽăăŤăă˘ăźăăăŻăăŁăăŤăăčĄăćšćłăăăăžăă ăăŽăăăăăŽä¸é¨ăŻăĺăŤčŞŹćăăDockerăłăłăăăšăăć´ťç¨ăăăă¨ăŤăŞăăžăă ăăăăŁăŚăăăŽĺ ´ĺăŻăARMăăźăšăŽăăˇăłăćăarm-machineă¨ăăăłăłăăăšăăä˝ćăăžăă ăăăŚăSSHă使ç¨ăăŚćĽçśăăžăă 揥ăŤăARM64 ăăŠăăăăŠăźă ăŽĺ ´ĺăăăŽçšĺŽăŽăăŤăăŤARMăăˇăłăłăłăăăšăă使ç¨ăăă¨ăăăăŤăăźăä˝ćăăžăă 揥ăŤă§ăăăă¨ăŻăĺşćŹçăŤăăŽăăŤăăźăŤĺĽăŽăăźăăčż˝ĺ ăăŚăă¤ăžăăĺĽăŽă˘ăźăăăŻăăŁăăăăŠăŤăă使ç¨ăăăă¨ă§ăă ăăăăŁăŚăăăŽĺ ´ĺăăăŽçšĺŽăŽăăˇăłăŻAMDăŽ64 ăăˇăłă§ăăĺŻč˝ć§ăăăăžăă ăăăăŁăŚăăăŽăăŤăă˘ăźăăăŻăăŁăăŤăăäťăăčĄăă¨ăAMD64 ăăŤăăŻăăźăŤăŤăăˇăłăŤĺ§äťťăăăžăăăARMăŽăăŤă64 ăŞă˘ăźăăăˇăłăŤĺ§äťťăăăžăă ăăăŚăBuildKităŻăăŞăăŽăăăŤăăăăăšăŚé˘ĺčŚăžăă ăăŚăçš°ăčżăăŤăŞăăžăăăăăăč¨ĺŽăăăă¨ăă§ăăžăăăčŞĺă§ĺŽčĄăăăă¨ăă§ăăžăăăč¤éă§ăă ăăăŚăăĄăăăäťă§ăŻăăăăăšăŚăŽç°ăŞăćŠć˘°ăăăŤăăźăŞăŠăçśćăăĺż čŚăăăăžăă ăăăăç§ăŻăăăŤDocker Build CloudăŽăăŠă°ă罎ăăăă ăă§ăă Docker Build Cloudă§ăŻăăŻăŠăŚăă§ĺŽčĄăăăăăăăŽăăăźă¸ăăăŤăăźăĺŠç¨ă§ăăžăă ăžăăăă¤ăăŁăăŽăăŤăă˘ăźăăăŻăăŁăľăăźăăäťĺąăăŚăăžăă ăăŽăăăăťăăă˘ăăăŻä¸čŚă§ăăăˇăłăăăžăăžăŞăłăłăăăšăăŽç°ăŞăăăźăă玥çăăĺż čŚăăăăžăăă ă¨ăŚăç°Ąĺă§ăă
ăăŤăă˘ăźăăăŻăăŁăăŤăăŤäťĺąăăéŤĺşŚăŞDockerfileăľăăźăăŤă¤ăăŚčŠąăăžăăăă ăăŞăăă§ăăăŻăźăŤăŞăă¨ăŽ1ă¤ăŻăăăžăăžăŞăšăăźă¸ăŽăăăăă§ăăăŽăšăăźă¸ăĺŽčĄăăăăŠăăăăŠăźă ăĺŽéăŤćĺŽă§ăăăă¨ă§ăă ăă¨ăă°ăăăŽçšĺŽăŽăăŤăă§ăŻăAMD64 㨠ARM64ă¨ăăăăŤăă˘ăźăăăŻă㣠ăăŤăăčĄăăžăăăă㎠React ă˘ăăŞă§ăŻăćçľçăŞă˘ăťăăăHTMLăCSSăJavaScript ăŻăăŠăăăăŠăźă ăŤäžĺăăžăăă ă§ăŻăéçă˘ăťăăăăăĺ ´ĺăŤăARM ăăˇăłă¨ AMD64 ăăˇăłă§ HTMLăCSSăJavaScript ăĺŽéăŤăăŤăăăăă¨ăŻćŹĺ˝ăŤçăŤăăŞăŁăŚăăžăă? ăăăăŽčłçŁăăăăŠăăăăŠăźă ăŤäžĺăăŚăăžăăă ăăăăŁăŚăăăŽĺ ´ĺăç§ăăĄăč¨ăăăă¨ăŻăăă¤ăăŁăăăŤăăăŠăăăăŠăźă ă使ç¨ăăŚăăŽăăŤăăĺŽéăŤĺŽčĄăăă ăă ă¨ăăăă¨ă§ăă ăăăăćçľćŽľéă§ăŻăĺŽéăŤăŻăăżăźă˛ăăăăŠăăăăŠăźă ăčĄăăžăă ă¤ăžăăćçľçăŤčĄăăăăŽăŻăăăŤăăšăăźă¸ăăă¤ăăŁăă˘ăźăăăŻăăŁă§ĺŽčĄăăăŚăăăăăŞăă¨ă§ăă çš°ăčżăăŤăŞăăžăăăĺŽčĄăăăŽăŻä¸ĺşŚă ăă§ăă ăă ăăćçľăšăăźă¸ăŻćçľăżăźă˛ăăăăŠăăăăŠăźă ăă¨ăŤ1ĺĺŽčĄăăăžăă ăăăŻăăăŠăăăăŠăźă ăŤäžĺăăŞăă˘ăťăăăŤă¨ăŁăŚé常ăŤĺźˇĺă§ăă ăăăăŁăŚăăăŽĺ ´ĺăćçľçăŞjarăăĄă¤ăŤăžăăŻăăĄă¤ăŤăăăŠăăăăŠăźă ăŤäžĺăăŞăReactă˘ăăŞăžăăŻJavaă˘ăăŞăąăźăˇă§ăłă§ăă ăžăăăă¤ăăŁăăăŤăăăŠăăăăŠăźă ă使ç¨ăăŚăăŤăăčĄăăă¨ăă§ăăžăă ăăăŚăćçľçăŞăżăźă˛ăăăăŠăăăăŠăźă ăŻăARMç¨ăŽJDKăAMD64 ç¨ăŽJREăăăăłARM64ăŤĺşăĽăăă¨ăă§ăăžăă ăăăŚăăăăŻăăžăăăăžăă çš°ăčżăăŤăŞăăžăăăăăăăŽăăŠăăăăŠăźă ăăŠă°ă§ăă§ăăé常ăŤăŻăźăŤăŞăă¨ăăăă¤ăăăăžăă
ăăŁăăˇăĽçŽĄç (19:37)
ăăŚăăăŁăăˇăĽçŽĄçăŤă¤ăăŚčŠąăăžăăăă ăăăŚăăăăăăăŞăăŻăă§ăŤăăŤăăăŁăăˇăĽăŤć°ăĽăăŚăăă¨ç˘şäżĄăăŚăăžăă ăăăăăăŁăăˇăĽăŤă¤ăăŚčăăă¨ăäťăŤăăăă¤ăăŽăă¨ă澎ăăłä¸ăăŁăŚăăžăă ăăă§ăăăŁăăˇăĽçŽĄçăŽççąăŤă¤ăăŚĺ°ăă芹ăăăăă¨ćăăžăă ăžăăăăŤăăźăŻăăŤăăăŁăăˇăĽă使ç¨ăăŚăăŤăăéŤéĺăăžăă ăžăăăăŤăăăŁăăˇăĽăć´ťç¨ă§ăăă°ăăăĺšćçă§ăă ăŹă¤ă¤ăźăĺĺŠç¨ă§ăăăăăŤDockerfileăăŞăźăąăšăăŹăźăˇă§ăłăăăłăăŤăă§ăăă°ăăăŤăăéăăŞăăžăă ćźăăăĺźăăăăăĺż čŚăăŞăăŞăŠăĺ°ăŞăă§ăă ăăăăĺéĄăŻăăăăăŽăăŁăăˇăĽăăé常ăăăăŠăŤăă§ăŻăăŤăăźăŤĺŻžăăŚăăźăŤăŤă§ăăăă¨ă§ăă ăăăăŁăŚăăăă§ăăźăŤăŤ ăăˇăłă§ăăŤăăăă¨ăăăźă ăŽäťăŽčްăăç§ăĺ Ľĺăăă°ăăăŽăăŁăăˇăĽăć´ťç¨ă§ăăžăăă ăžăăŻăçšăŤç§ăŽCIăă¤ăăŠă¤ăłă§ăŻăăăŤăăŻä¸ćçăŞç°ĺ˘ă§ĺŽčĄăăăăă¨ăĺ¤ăăCIăă¤ăăŠă¤ăłă辡ĺăăăăłăŤă䝼ĺăŽĺŽčĄăăăŽçĽčăăăŁăăˇăĽăăŞăçć°ăăăăˇăłăŽă¸ă§ăă§éĺ§ăăăžăă
ă§ăŻăăăăăŽăăŁăăˇăĽăăŠăŽăăăŤć´ťç¨ă§ăăăŽă§ăăăăă ăăŚăăăăčŞĺă§čĄăăŤăŻăăă¤ăăŽćšćłăăăăžăă ăžăăBuildKit 㨠buildx ăŤăŻăăžăăžăŞăăŁăăˇăĽăăăŻă¨ăłăăăăăžăă ăă¨ăă°ăĺŽéăŤăăŁăăˇăĽăçťĺčŞä˝ăŤĺăčžźăăăăŤăăăă¨č¨ăăă¨ăă§ăăžăă ăĺ§ăăăžăăăă確ăăŤă§ăăžăă ăăŁăăˇăĽăăŹă¸ăšăăŞăŤăăăˇăĽăăă¨ăă¤ăĄăźă¸ăăăăˇăĽăăă ăă§ăŞăăăăŁăăˇăĽăăăăˇăĽăăĺ ´ćă¨ăăŚăăăŞăé ťçšăŤä˝żç¨ăăăžăă ăžăăăăŁăăˇăĽăŽć¤ç´˘ăăăšăŚăĺ°ćĽăçşçăăăăăŤăčż˝ĺ ăŽăăăă§ăšăăĺŤăžăăŚăăžăă ăăŤăéăŞăŠă§ä˝żç¨ăăăŚăăăăăăŻăźăŻćĽçśăšăăŹăźă¸ăăăĺ ´ĺăŻăăăŁăăˇăĽăăăźăŤăŤăăŁăŹăŻăăŞăŤć¸ăčžźăăă¨ăă§ăăžăă GitHub ă˘ăŻăˇă§ăłçľąĺăăăăăăŁăăˇăĽăŻ GitHub ă˘ăŻăˇă§ăł ăăŁăăˇăĽăŤăăăˇăĽăăăžă (S3ăŞăŠ)ă ăăŚăăăă§č¨ĺăăă2ă¤ăŽç°ăŞăă˘ăźăăăăăžăă ćĺăŽĺăŻăă¨ăŻăšăăźăăăăăŹă¤ă¤ăźăŽăżăăăŁăăˇăĽăăăăă¤ăžăćçľăšăăźă¸ăŽăżăăăŁăăˇăĽăăăă¨ăăăă¨ă§ăă ăăŤăăšăăźă¸ ăăŤăăčĄăŁăŚăăĺ ´ĺăăăăŻĺăŽăăšăŚăŽăšăăźă¸ăăăŁăăăăăăă§ăŻăăăžăăă ăăăŚăăăăŻăăŞăăćăăăŽăăăăăŞăăăăăă§ăŞăăăăăăžăăăăăăŻăăŞăăŽăăźăşăŤäžĺăăžăă ăăăŚăăăăăăŞăăćăăăŽă§ăŻăŞăĺ ´ĺăăăăăć大ă§ăăăăăăăăšăŚăŽä¸éăšăăăăăăŁăăăăžăă çš°ăčżăăŤăŞăăžăăăăăŞăăŽăăźăşăŤăăăžăă ăăăŤăŻăăžăăžăŞăăŁăăˇăĽă˘ăźăăăăăžăă
ăăă§ăăăă§ç¤şă 2 ă¤ăŽäžăç´šäťăăžăă ăăŽăăŁăăˇăĽăŽäžă§ăŻăăăăčĄăăă¨ăŻé常ăŽăăŤăăčĄăăă¨ă§ăăăăăŁăăˇăĽ 2 㨠from ăŻăŹă¸ăšăăŞă使ç¨ăăăŹă¸ăšăăŞăŽĺ ´ćăŻăăŽĺ ´ĺ㯠my-repo/my-cache ăŤăŞăăă¨ă示ăăŚăăžăă ăăŚăćăăăŤăăă§ăŻăă ăŽä˝ă芹ă§ăă ăă ăăăăŽĺ ´ĺ㯠Docker Hub ăăăăŤăăăžăă çŹčŞăŽĺ é¨ăŹă¸ăšăăŞăăĺĺžăăĺ ´ĺăŻăé常ăŽă¤ăĄăźă¸ĺă¨ĺăĺĺäťăăăżăźăłăŤĺžăăžăă ă ăăăregistry.company.com/my-repo/my-cacheă ä˝ă¨ă ăăŽĺ ´ĺămode=max ă§ăă ăăăăŁăŚăçš°ăčżăăŤăŞăăžăăăăăšăŚăŽä¸éăšăăăăăăăˇăĽăăăžăă ăăăăăăŁăăˇăĽă使ç¨ăăžăă ăăăŚăĺŽäşăăăăăăŁăăˇăĽăăăăŤăăăˇăĽăăžăă ăăă§ăŽĺĽăŽäžăŻăS3 ăăąăăăŽä˝żç¨ă§ăă ăăŽäžă§ăŻăăăŁăăˇăĽăŻăŹă¸ăšăăŞăŤć źç´ăăăăŽă§ăŻăŞăăăăŽăŞăźă¸ă§ăłăŽ S3 ăăąăăăăăŽăăąăăĺăăăąăăĺ ăŽăăŽăăźăăŹăăŁăăŻăšăŤăć źç´ăăăžăă çš°ăčżăăŤăŞăăžăăăăăăć§ćăăăŤăŻăăžăăžăŞćšćłăăăăžăă
GitHub Actionsă§ăăăăŠăŽăăăŤčŚăăă â DockerăăŤăăăăˇăĽă˘ăŻăˇă§ăłă使ç¨ăăŚăăĺ ´ĺăăăŁăăˇăĽăŽfromă¨cache toăćĺŽăăăăăŽčż˝ĺ ăŽăăŁăźăŤăăŤăăăžăăă ăăăŚăăăăŻăă 塎ăčžźăă ăă§ăă ă§ăăăăçš°ăčżăăŤăŞăăžăăăăăŁăłăšăăăăžăă ă¤ăžăăăăăăăšăŚăčŞĺă§çŽĄçăăăă¨ăŻç˘şăăŤă§ăăžăă ăăăŚăăăšăŚăŽăŹăăźă¸ăłăŹăŻăˇă§ăłăăŻăŞăźăłă˘ăăăŞăŠă玥çăăĺż čŚăăăăžăă ăăăăçš°ăčżăăŤăŞăăžăăăăăăŤăŻĺ˝ç¤žăŽčŁ˝ĺăŽ1ă¤ă§ăăDocker Build Cloudç¨ăŽĺĽăŽăăŠă°ăăăăŤç˝Žăăžăă çžĺ¨ăăăšăŚăŽăăŤăéă§ĺ ąćăăŁăăˇăĽăăăăăŹăăźă¸ăłăŹăŻăˇă§ăłăčŞĺçăŤĺŚçăăăăăšăŚăŽăăŁăšăŻăšăăźăšă¨ăăŁăăˇăĽăŤăăšăŚă貝ăăăăŞăăăăŤăăžăă
ăăăŚăžăăăăă§ăăŤăăĺŽčĄăăă¨ăăăă§ăăăŻăźăŻăăăźăĺĺžăăăăăŤă¸ăŁăłăăăžăăă-ăăŽçšĺŽăŽăăŤăăŻăăŁăăˇăĽă使ç¨ăăŚăăžăăă ăăăŚăćŻĺçťĺăŹă¤ă¤ăźăĺźăŁĺźľăĺż čŚăăăăă¨ăăăăăžăăăăŁăăˇăĽăŻä˝żç¨ăăăŚăăžăăă ăăŽăăăćŻĺăăšăŚăŽäžĺé˘äżăăăšăŚăăăăˇăĽăăăăăŤăăăăăŞăăă°ăŞăăŞăăă¨ăĺ¤ăăDocker Build Cloudă使ç¨ăăă¨ăăăšăŚăŽă¤ăĄăźă¸ăăă§ăŤăăŤăăăăŹă¤ă¤ăźăăăžăăžăŞăŻăźăŻăăăźăŤăăŁăăˇăĽăăăŚăăăă¨ăăăăăžăă çš°ăčżăăŤăŞăăžăăăăăă§ĺż čŚăŞĺ¤ć´ăŻé常ăŤç°Ąĺă§ăé常ăŤćĺ°éăŤćăăăăžăă
ăă¤ăŻă§ăăŤă (24:19)
ăăŚăăă¤ăŻăŤă¤ăăŚĺ°ă芹ăăžăăăă çžĺ¨ăăă¤ăŻăŻç§ăăĄăĺăçľăă§ăăć°ăăăăźăŤă§ăăăăăŞăć´çˇ´ăăăăăŤăăŽăăźăşăćşăăăŽăŤĺ˝šçŤăĄăžăă ăăă§ăŻăăăŽč¤éăŞCLIăăŤăăăĺ§ăăžăăăă ăăŚă誰ăăăăŽăăăŞăăŽăćăŁăŚăăăăă§ăŻăŞăă¨ćăăžăăăăăăŤăŻcache-fromăcache-toăăăăăăŤăă˘ăźăăăŻăăŁăăŤăăĺŽčĄăăăăžăăžăŞăŠăăŤăćĺŽăăŚăăžăăăăŽĺ ´ĺăĺŽéăŤăŻč¤ć°ăŽăżă°ăćăĄăăăĄă¤ăŤăćĺŽăăŚăăăăăăăăŠăŤăăŽDockerăăĄă¤ăŤă使ç¨ăăŚăăžăăă çš°ăčżăăŤăŞăăžăăăăăšăŚăŽäşşăŽăăŤăăăăŽăăăŤčŚăăăăă§ăŻăăăžăăăăăŠăăŤăăăăăčż˝ĺ ăăăŞăŠăĺ¤ăăŽăă¨ăčŚăăăžăăçš°ăčżăăŤăŞăăžăăăăŠăăăă°ăăăç°ĄĺăŤă§ăăăŽă§ăăăă? ă¤ăžăăbakeăčĄăăă¨ăŻăăăéŤăăŹăăŤăŽăăźăŤă§ăăăć˝čąĄĺăăŞăźăąăšăăŹăźăˇă§ăłăăăŠăźăăăăŽĺŽŁč¨ăăăăŤä˝żăăĺ¤ăăŽç¨čŞă§ăă ăăăăĺşćŹçăŤăŻăăŤăăłăăłăăä˝çłťĺăăă¤ăĄăźă¸ăŽăăžăăžăŞăăŞă¨ăźăˇă§ăłăĺ Źéăăăă¨ăă§ăăžăăăăăŽăăŤăă¨ăăŽăăŤăăŻăŠăăăŁăŚčĄăăŽăăă¨ăăçĺăăăă°ă BuildKităDockerfileĺ ăŽĺă ăŽăšăăăă丌čĄăăŚĺŽčĄă§ăăăŽăŤĺŻžăăBakeăŻĺŽéăŤä¸Śĺă¤ăĄăźă¸ăăŤăăĺŽčĄăăăăăăăŞăłăŻăăŚé常ăŤĺŞăăăă¨ăčĄăăă¨ăă§ăăžăă ăŞăźăąăšăăŹăźăˇă§ăł ăăĄă¤ăŤă使ç¨ăăĺ¤ăăŽĺ ´ĺăHCL ă使ç¨ăăŚčĄ¨ç¤şăăăžăă ăăŽăăăTerraformăŽăăăŤčŚăăžăăăćăăăŤć§é ăç°ăŞăăžăăăJSONăYAMLă§č¨čż°ăăăă¨ăă§ăăžăă
ăăŽăăăĺ¤ăăŽçšă§ăBake 㯠Compose ăĺŽčĄăăăăăŤăăŤăăăă¨čăăăă¨ăă§ăăžăă ăăăăŁăŚăăăŽĺăŽCLIăłăăłăă使ç¨ăăŚăăăŽBakeăăĄă¤ăŤăŤĺ¤ćă§ăăžăăă äťăăżăźă˛ăăăćĺŽăăă¨ăĺşĺăăăŁăăˇăĽăDockerfileăăăŠăăăăŠăźă ăăŠăăŤăŞăŠăăăăžăă ăăăŚăăăăădocker buildx bakeăĺŽčĄăăă ăă§ăăăăç§ăŽăăăŤäťäşăăăŚăăăžăă ăăăŚäťăăăŽč¤éăŞCLIăłăăłăăăăŽHCLăăĄă¤ăŤăŤä˝çłťĺăăăç°ĄĺăŤĺçžăăŚăăŤăă§ăăăăăŤăŞăăžăăă ăăŚăçš°ăčżăăŤăŞăăžăăăăăăŻăăŞăĺç´ăŞäžă§ăă ăăăŤăŻĺ¤ăăŽč°čŤăăăăžăăăĺŽéăŤăŻ 3 ă¤ăŽç°ăŞăăłăłăăă¤ăĄăźă¸ăăăŤăăăăăăăăç°ăŞă Docker ăăĄă¤ăŤă使ç¨ăăĺ ąćć§ćăăçśćżăă丌ĺĺŽčĄăéĺ§ă§ăăžăă çš°ăčżăăŤăŞăăžăăăăăŞăć´çˇ´ăăăăă¨ăčĄăăă¨ăă§ăăžăăăăăă§ăăšăŚăćăăăă¨ăăăăă§ăŻăăăžăăăăăăăĽăĄăłăăăă§ăăŻăăŚăă ăăă Docker BakeăŤăŻăé常ăŤĺŞăăäžăăăăĽăĄăłăăăăăăăăăžăă
Docker in Docker (DinD) (27:00)
ăăŚăăžă¨ăă¨ăăŚăDockerăŽDockerăŤă¤ăăŚčŞŹćăăžăă ăăŚăDockerăŽDockerăŻĺäťăŞăăźăă§ăă ăžăăçšăŤCIăă¤ăăŠă¤ăłă§ăŻăDocker Buildă使ç¨ăăŚăăĺ ´ĺăDockeră¨ăłă¸ăłăĺż čŚăŤăŞăăăăăăŤăă§ăăĺşăŚăăăăŽă§ăă ăžăăĺ¤ă㎠CI ă¸ă§ăăŻăłăłăăĺ ă§ĺŽčĄăăăžăă äžăă°ăJenkinsăGitLabăŞăŠăCIăă¤ăăŠă¤ăłă§ăŻăć°ăăă¸ă§ăăŻăăšăŚăăăă¨ăŻăŠăšăżăăžăăŻĺŽčĄä¸ăŽĺĽăŽăłăłăăă§ăăă¨ăăăă¨ăĺ¤ăăŽäşşă¨čŠąăăžăăă ăăŽăăăăăŽăłăłăăăăăŤăăčĄăăăăŤăŻăĺŽéăŤăăŤăăčĄăăăăŤć°ăăăłăłăăăĺŽčĄăăč˝ĺăĺż čŚă§ăă ăăăăŁăŚăĺşćŹçăŤăŻ2ă¤ăŽăŞăăˇă§ăłăăăăžă - 1ă¤ăŻăăăšăă˝ăąăăăăăŽă¤ăĄăźă¸ăžăăŻCIă¸ă§ăăŤăăŚăłăăăăăĺşćŹçăŤăăšăăăăăłăłăăăĺŽčĄă§ăăăăăŤăăăă§ăăăăăDockerăŽDockerăŽçąćĽă§ăă é常ăŤĺ¤ăăŽCIă¸ă§ăăăłăłăăĺ ă§ĺŽčĄăăăăăăŻĺşćŹçăŤăăăŽCIă¸ă§ăăăľăłăăăăŻăšĺăăŚăăăăăŽă§ăăăăăŞăăĺăé˘ăăă¨ăŻă§ăăžăăăăăăšăä¸ă§ä˝ăă§ăăžăăă ăăŽăăăć°ăăăłăłăăă辡ĺă§ăăžăăăDockerăŤăŻăăšăăăăăłăłăăăDockerăĺĺ¨ăăĺŻč˝ć§ăăăăžăă
ăăăăăăŽăăăŤăŻăCIă¸ă§ăăłăłăăăŤčż˝ĺ ăŽć¨Šéăĺż čŚă§ăăăăăšăăăăĺĺ犺éăä˝ćăăăăăłăłăăă辡ĺăăăăăăăăŽçšć¨Šă˘ăźăă˘ăŻăťăšăĺż čŚăŤăŞăăăăăăăŤăŻăăă¤ăăŽčŞ˛éĄăäź´ăăžăă ăžăăăăŽçšć¨Šă˘ăźăăŻăçľçšăŽăťăăĽăŞăăŁć§ćă§ăăăăŻăăăŚăăĺ ´ĺăăăăžăăăžăăăăă§ĺŽčĄăăăŚăăăăˇăłä¸ăŤăăĺŻč˝ć§ăŽăăLinuxăťăăĽăŞăăŁă˘ă¸ăĽăźăŤă¨çŤśĺăăĺŻč˝ć§ăăăăžăă ăžăăăăšăăăăăłăłăăă辡ĺăăăă¨ăăă¨ăăăĄă¤ăŤăŽăăŚăłăăăšăćŁç˘şă§ăŞăăăăŞăăăŞăăăźăŞçśćłăçşçăăĺŻč˝ć§ăăăă¨ăăč¤éăŞăăĄă¤ăŤăˇăšăă ăŽĺéĄăŤééăĺ§ăăžăă ă§ăăăăăăăŤăŻ2ă¤ăŽé¸ćč˘ăăăăŽă§ăă çš°ăčżăăŤăŞăăžăăăăăăčŞĺă§čĄăŁăŚăăĺ ´ĺăćĺăŤDockeră˝ăąăăăăłăłăăăŤăăŚăłăăăă¨ăăăăŤăŻé常ăŤĺ¤§ăăŞčŚĺăäź´ăăžăă ăăŚăăăăŻăťăăĽăŞăăŁăŽăŁăăă¨čŚăŞăăă¨ăă§ăăžăă ăăăăŁăŚăăă¨ăă°ăăăăčĄăĺ ´ĺăăăšăă˝ăąăăăăăŽăłăłăăăŤĺ ąćăăžăă ăăăăŁăŚăăăŽăłăłăăĺ ăŽăłăăłăăŻĺŽéăŤăŻăăšăăŽă¨ăłă¸ăłä¸ă§ĺä˝ăăŚăăăăăăăŽă¸ă§ăăŻăDockerăĺŽčĄăăăăšăăăĄă¤ăŤăˇăšăă ĺ ¨ä˝ăć°ăăăłăłăăăŤăăŚăłăăăăăšăä¸ăŽäťťćăŽăăŽăŤă˘ăŻăťăšă§ăăăăăŤăăăăă¨č¨ăăă¨ăă§ăăžăă çš°ăčżăăŤăŞăăžăăăăăăŤăŻĺĺ注ćăăăă¨ăăă§ăăăăăăŻé¸ćč˘ăŽä¸ă¤ă§ăă çš°ăčżăăŤăŞăăžăăăăťăăĽăŞăăŁăŽăŁăăă¨ăťăăĽăŞăăŁä˝ĺśăŤčŞĺčŞčşŤă罎ăăăŚăăăă¨ăčŞčăăŚăă ăăă ĺĽăŽăŞăăˇă§ăłăŻsysboxă使ç¨ăăăă¨ă§ăăăăăšăăăăăłăłăăăĺŽĺ ¨ăŤĺŽčĄă§ăăăăŽäžăăăă¤ăăăăžăă ăăăŤăŻăăă¤ăăŽăăŹăźăăŞăăăăăžăăăsysbox ă使ç¨ăăŚăăšăăăăăłăłăăăĺŽčĄă§ăăăăăŤč¨ĺŽăăćšćłăăăăžăăăăăšăăăăăłăłăăăă§ăăăă¨ă¨ă§ăăŞăăă¨ăĺ°ăĺśĺžĄăăăăăă¨ăă°ăăŤăźă ăăĄă¤ăŤ ăˇăšăă ăăăŚăłăă§ăăŞăăŞăŠăăžăă ăăŽăăăăťăăă˘ăăăŻč¤éă§ăăăăŞăăˇă§ăłă§ăăăăžăă ăăăŚćĺžăŤăDocker Build CloudăŤç§ťčĄăăă¨ăDockerăŤDockerăŻĺż čŚăŞăăăăŞăăŽäťäşăŻĺŽéăŤăŻăŞă˘ăźăăăŤăăŽăŻăŠă¤ă˘ăłăă ăă§ăă ăžăăARM ăăˇăłă¨ AMD64 ăăˇăłăŽä¸ĄćšăŽăă¤ăăŁă ăľăăźăăĺŠç¨ă§ăăžăă ăăăăăăă§ăăăă¤ăăŠă¤ăłă§čľˇĺăăŚăăKubernetesăăăăăăăăăŽăăăăŻDocker Build Cloudă¨é俥ăăč˝ĺăŽăżăĺż čŚă§ăăă¨ćłĺăăŚăăăŽä¸éçšăé常ăŤéŁăăćă¤ĺż čŚăăăăžăă ăăšăăăăăłăłăăă辡ĺăăăăĺŽéăŤä˝ăăăăăăăćŠč˝ăŻĺż čŚăăăžăăă ăžăăăă§ăŤć Łă茪ăăă§ăăăŽă¨ĺăăăźăŤăăăšăŚä˝żç¨ăăăă¨ăă§ăăDocker Buildă ăă§éćłă辡ăăăžăă ăžăăĺ ąćăăŁăăˇăĽăă䝼ĺăŤčŞŹćăăäťăŽăăšăŚăŽăă¨ăć´ťç¨ăăäşĺŽă§ăă çš°ăčżăăŤăŞăăžăăăăăăŤăŻĺ¤ăăŽĺŠçšăăăăžăăăăăŤäź´ăăăăŤăă¨ăăŤăXăăăăłăăŤăă˘ăźăăăŻăăŁăăŤăă¨ăăŁăăˇăĽçŽĄçăŤé˘ăăŚăăăžăăžăŞăă¨ăŤă¤ăăŚčŠąăăŚăăžăăă ă ăăăăăăă¨ăă¨č¨ăăăăŽă§ăă ăä¸ćăŞçšăăăăăžăăăăăć°čť˝ăŤăĺăĺăăăă ăăă ăăŞăă饧厢ă§ăăăăăžăăžăŞăľăăźăăăźăşăăăĺ ´ĺăŻăăľăăźăăăąăăăčŞçąăŤé俥ăăăłăăĽăăăŁSlackăăăŽäťăŽĺ ´ćă§ăăć°čť˝ăŤăĺăĺăăăă ăăă ăăăŚăă¤ăăŽăăăŤăç§ăăĄăŻăăŞăăŤćčŹăăŚăăžăă ăžăăăžă質ĺăăăĺ ´ĺăŻăăć°čť˝ăŤăĺăĺăăăă ăăă ăăăă¨ăăăăăžăăă
Â
ăăăŤčŠłăă
- ăăăŤăźăŻĺăăŚă§ăă? ĺ§ăăžăăăă
- 注çŽăŽăŹă¤ăă§Docker製ĺă桹ăćăä¸ăăžăă
- Docker Newsletter ăčłźčŞăăŚăă ăăă
- Docker ăăšăŻăăăăŽćć°ăŞăŞăźăšăĺ Ľćăăžăă
- 質ĺăăăăžăă? Docker ăłăăĽăăăŁăăćäźăăăžăă