çťĺăŽčŠłç´°ă¨ăăšăăăŠăŻăăŁăš
ă¤ăĄăźă¸ăŻăăłăłăăăĺŽčĄăăăăăŽăăšăŚăŽăăĄă¤ăŤăăă¤ăăŞăăŠă¤ăăŠăŞăăăăłć§ćăĺŤăć¨ćşĺăăăăăăąăźă¸ă§ăă ă¤ăĄăźă¸ăŻăŹă¤ă¤ăźăŤć§é ĺăăăă¤ăĄăźă¸ăŽć§çŻă¨ăłăłăăăŽä˝żç¨ăŽä¸Ąćšă§ĺĺŠç¨ăäżé˛ăăžăă ăăŤăăŽăăšăăăŠăŻăăŁăšăçč§Łăăăă¨ăŻăă¤ăĄăźă¸ăčż éăă¤ĺŽĺ ¨ăŤăăŤăăăăăăŤä¸ĺŻćŹ ă§ăă
ă¤ăĄăźă¸ăŽčŠłç´°ă¨ăăŤăăŽăăšă ăăŠăŻăăŁăš ăăŹăźăłăăźăˇă§ăłă§ăŻăă¤ăĄăźă¸ă¨ Docker ăăŤă ăˇăšăă ăŤă¤ăăŚčŞŹćăăžăă ă¤ăĄăźă¸ăŽć§é ăDockerfile ăŽä˝ććšćłăă¤ăĄăźă¸ăŽä˝ćăŤé˘ăăăăšă ăăŠăŻăăŁăšăăăŤă ăăŁăăˇăłă°ăăăŤăăšăăźă¸ ăăŤăăăăŤăă˘ăźăăăŻă㣠ăăŤăăDocker Build Cloud ă使ç¨ăăčś éŤéăăŤăăŞăŠăŽçšĺŽăŽćŠč˝ăŤă¤ăăŚčŞŹćăăžăă
ăăăŻăDocker Image Deep Dive and Build Best Practices Tech Talk ă§ăă
çŽćŹĄ
- ă¤ăłăă (0:05)
- ăŚăăŞăłăăĄă¤ăŤăˇăšăă ăçč§Łăă (1:59)
- ăŚăăŞăłăăĄă¤ăŤăˇăšăă ăŽç¨čŞ (4:52)
- ă¤ăĄăźă¸ăćĺă§ä˝ćăă (6:29)
- ăŹă¤ă¤ăźăŽĺŻčŚĺ (8:44)
- ă¤ăĄăźă¸ć§çŻăŽăăšăăăŠăŻăăŁăš (10:21)
- ă¤ăĄăźă¸ă´ăźăŤ (12:40)
- ăăŤăăăŁăăˇăĽ(15:50)
- ăăŁăăˇăĽăĺŁăăĺ ´ćăçšĺŽăă (17:47)
- ăăŤăăšăăźă¸ăăŤă (21:41)
- ćć°ăŽăăŤăă¨DockerfileăŽćŠč˝(24:59)
- ăăŤăă˘ăźăăăŻă㣠(26:57)
- Docker Desktop GUI ăăŤăăăĽăź (29:44)
- 芳細ć ĺ ą
ă¤ăłăă (0:05)
Docker ă¤ăĄăźă¸ăŻă蟸éç¨ăłăłăăă¨äźźăŚăăžăă 蟸éç¨ăłăłăăăŤăŻăăăăă税éĄăŽăăŽăĺ Ľăăăă¨ăă§ăăžăă éŁăšçŠăćă¤ăă¨ăăĺŽśĺ ˇă罎ăăă¨ăăĺťşçŻčłćăćă¤ăă¨ăă§ăăă Docker ă¤ăĄăźă¸ăĺăă§ăăăă˝ăăăŚă§ă˘ăé¤ăăžăă Docker ă¤ăĄăźă¸ăŤ Web ăľăźăăźăĺŤăăăă¨ăăă˘ăăŞăąăźăˇă§ăłăăăźăżăăźăšăăĄăăťăźă¸ ăăĽăźăŞăŠăăăžăăžăŞăăŽăćă¤ăă¨ăă§ăăžăă ăăŽăăăă¤ăĄăźă¸ăŻăăăŽĺ é¨ăŤĺĺ¨ăăĺŻč˝ć§ăŽăăăăăăăšăŚăŽç°ăŞăăżă¤ăăŽă˝ăăăŚă§ă˘ăĺŚçă§ăăăťăŠćčťć§ăăăĺż čŚăăăăžăă ăăŚă 2015ĺš´ăŤăăăŽăźăă¨ăDockerăŻOpen Container Initiativeăä˝ćăăžăăă Open Container InitiativeăŻăăłăłăăăŤé˘ăăä¸éŁăŽć¨ćşă§ăă çžĺ¨ăŻ Linux Foundation ăććăăŚăăă3 ă¤ăŽäťć§ăăăăžăă ă¤ăĄăźă¸äťć§ăăăăă¤ăĄăźă¸ăŽć§é ă¨ăăăă§ăšăăč¨čż°ăăŚăăžăă OCIă¤ăĄăźă¸ăŽĺŽčĄćšćłăĺŽçžŠăăăŠăłăżă¤ă äťć§ă¨ăăłăłăăłăăăăăˇăĽăăăŤăć¤ĺşăăăăăŽAPIăăăăłăŤăĺŽçžŠăăé ĺ¸äťć§ăăăăžăă çťĺăŽčŠłç´°ăŤĺ ĽăĺăŤăăăčăăă質ĺă1ă¤ăăăžăăăăăŻăçťĺăŤăŻăăžăăžăŞă˘ăźăăăŻăăŁăăăççąă§ăă ăłăłăăăŻçšĺŽăŽăŤăźăăŤă¨çšĺŽăŽăăăăťăăăŤé˘éŁäťăăăăăăăťăšă§ăăăăăç°ăŞă OS ă§ç°ăŞăăăăăťăăăăľăăźăă§ăăăăăŤăăăŤăŻăç°ăŞăăăźă¸ă§ăłăĺĺ¨ăăĺż čŚăăăăžăă ăăŽăăăçťĺăŽä¸ăŤă˘ăźăăăŻăăŁăżă°ă襨示ăăăžăă ăăă§ăçšĺŽăŽăăˇăłăŤă¤ăĄăźă¸ăăăŤăăŚăłăăă¨ăăŠăŽă˘ăźăăăŻăăŁăăăăŤăăŚăłăăŚăăăăčŞĺçăŤčŞčăăăćŁăăă¤ăĄăźă¸ăăăŤăăŚăłăăăăăăăăăć°ăŤăăăŤĺŽčĄă§ăăžăă ăăăăă¤ăĄăźă¸ăć§çŻăăŚăăĺ ´ĺăŻăăăŽă¤ăĄăźă¸ăĺŽéăŤĺŽčĄăăă˘ăźăăăŻăăŁăŤă¤ăăŚĺżé ăăĺż čŚăăăăžăă ăăăŤă¤ăăŚăŻăăăŹăźăłăăźăˇă§ăłă§čŠłăă誏ćăăžăă
ăŚăăŞăłăăĄă¤ăŤăˇăšăă ăçč§Łăă (1:59)
ăăŚăăăă§ăŻăă¤ăĄăźă¸ăć§ćăăăŚăăŞăł ăăĄă¤ăŤ ăˇăšăă ă¨ăă¤ăĄăźă¸ăŽć§é ăçč§Łăăžăăăă ăăăăŁăŚăăăă§ăŻnginxă¤ăĄăźă¸ăăăŤăăäžă示ăăžăă ăăăŚăăăăŽĺłĺ´ăčŚăă¨ăčŞĺă§ĺźăŁĺźľăă¨ăăăŞćăăŤăŞăăžăă ăăăŤăŻćĺă¨ć°ĺăŽç°ăŞăčĄăăăă¤ăăăăăăŤă¨ăăŤă¨ć¸ăăăŚăăăăăŤăłăłăăŞăźăă¨ć¸ăăăŚăăžăă ăăăăŤăăă§ăŤĺĺ¨ăăăă¨čĄ¨ç¤şăăăĺ ´ĺăăăăžăă ăăă§ĺéĄă¨ăŞăăŽăŻăăăăăŽăăŽăĺŽéăŤĺźăŁĺźľăăăŚăăăŽăŻä˝ăŞăŽăăăăăŚăăăăŠăŽăăăŤăăŚăłăłăăăŤăŞăăŽăă¨ăăăă¨ă§ăă
ăăă¨ăăăăăŽăăŽăŽä¸ă¤ä¸ă¤ăăŹă¤ă¤ăźă§ăăăăŹă¤ă¤ăźăŻăäşăăŤéăŞăĺăăăĄă¤ăŤăˇăšăă ăŽĺ¤ć´ăŽăťăăă§ăă ăăăăŁăŚăăăăčŚăă¨ăăŹă¤ă¤ăź 1ăăŹă¤ă¤ăź 2ăăăăłăăźă¸ăăăăŹă¤ă¤ăźă襨示ăăăžăă ĺăŹă¤ă¤ăźăŻăăăĄă¤ăŤăčż˝ĺ ăĺé¤ăăžăăŻĺé¤ă§ăăžăă ăăŚăăŚăăŞăłăăăăăĄă¤ăŤăˇăšăă ă§ăŻăăăăăăšăŚăä¸çˇăŤăăŤăăăžăă ăăăŽăŹă¤ă¤ăź 1ă§ăŻăăăĄă¤ăŤ 1ăăăĄă¤ăŤ 2ăăăĄă¤ăŤ 3ăăăĄă¤ăŤ 4ăčż˝ĺ ăăŚăăžăă ăŹă¤ă¤ăź 2 ăŻăć°ăăăăźă¸ă§ăłăŽăăĄă¤ăŤ 2ăčż˝ĺ ăăăăăŤăăăĄă¤ăŤ 5 ăčż˝ĺ ăăžăă ăăăăŁăŚăăăźă¸ăăăăăźă¸ă§ăłă§ăŻăăăŽă¤ăĄăźă¸ăăłăłăăă¨ăăŚĺŽčĄăăăĺ ´ĺăŤĺĺ¨ăăăăŽăăăĄă¤ăŤ1ăăŹă¤ă¤ăź2ăăăŽăăĄă¤ăŤ2ăăăĄă¤ăŤ3ăăăĄă¤ăŤ4ăăăăłăăĄă¤ăŤ5ăŤăŞăăžăăăăăăŽăŹă¤ă¤ăźăăăăăĺĺžăăăăăăăăźă¸ăăăăăźă¸ă§ăłăŤăžă¨ăăžăă ăăŽăăăŤăăăă¨ăŤăŻăăă¤ăăŽĺŠçšăăăăžăăăăăăŤă¤ăăŚăăăŤé˛ăăŤă¤ăăŚčŞŹćăăžăă
ă§ăŻăĺé¤ăăăăăĄă¤ăŤăŤă¤ăăŚăŻăŠăă§ăăăă? ăăéŤĺşŚăŞăŹă¤ă¤ăźăŽăăĄă¤ăŤăĺé¤ăăĺż čŚăăăĺ ´ĺăŻăŠăăăă°ăăă§ăă? ăăŚăăăăăŠăŽăăăŞăăŽăŤăŞăăčŚăŚăżăžăăăă ăăăŤăŻăŹă¤ă¤ăź 3ăăăăăŹă¤ă¤ăź 1ăăä˝ăăĺé¤ăăĺż čŚăăăăžăă ăăă§ăĺăŹă¤ă¤ăźăŻăć¸ăčžźăžăăă¨ä¸ĺ¤ăŤăŞăăžăă ăŹă¤ă¤ăźăŻăĺŽéăŤăăĄă¤ăŤăˇăšăă ăŤć¸ăčžźăžăăĺžăŻĺ¤ć´ă§ăăžăăă ăăăăŁăŚăăŹă¤ă¤ăź 3ă§ăŻăăăĄă¤ăŤ 4ăĺăé¤ăĺż čŚăăăĺ ´ĺăç§ăčĄăăă¨ăŻăă¤ăłăŻăć¸ăăăç´ăăăăăăăä¸ć¸ăăăĺż čŚăăăĺ ´ĺă¨é常ăŤăăäźźăŚăăžăă ăăŻă¤ăăŽăăăŤăĺăĺşăăŚăăăŽăăăšăăç´ăŤčŚăăăăŽä¸ăŤć¸ăăžăă ăăăăžăăŤç§ăăĄăăăă§čĄăŁăŚăăăă¨ă§ăă ăŹă¤ă¤ăź 3ăŤĺĺ¨ăăăăŻă¤ăă˘ăŚăăăĄă¤ăŤăä˝ćăăŚăăăăăăăźă¸ăăăăăĄă¤ăŤăˇăšăă ă§ăŻăĺŽčĄä¸ăŽăłăłăăă§ăăĄă¤ăŤ 4 ă襨示ăăăŞăăŞăăžăă ăăŚăăăă§çč§Łăăšăé常ăŤéčŚăŞé¨ĺăŻăăăĄă¤ăŤ 4 ăăžă ăŹă¤ă¤ăź 1ăŤĺĺ¨ăăă¨ăăăă¨ă§ăă ăŹă¤ă¤ăź 1 ăŻăĺŽéăŤăăĄă¤ăŤăˇăšăă ăŤć¸ăčžźăžăăćçšăăä¸ĺ¤ă§ăă ăăăăŁăŚăăăźă¸ăăăăăźă¸ă§ăłă§čĄ¨ç¤şăăăŞăăăă¨ăăŁăŚăăžă ăăăŤăŞăăăă§ăŻăăăžăăă ăăăŤă¤ăăŚăŻăăťăăĽăŞăăŁăŤé˘ăăć¸ĺżľăŤă¤ăăŚăŻăĺžăťăŠčŞŹćăăžăă
ăŚăăŞăłăăĄă¤ăŤăˇăšăă ăŽç¨čŞ (4:52)
ă§ăŻăăăă§ăŽç¨čŞăčŚăŚăä˝ăč¨ăŁăŚăăăŽăăçč§Łăăžăăăă ć¸ăčžźăžăăăŹă¤ă¤ăźăŻä¸ä˝ăăŁăŹăŻăăŞă§ăă ç§ăč¨ăŁăăăăŤăăăăăŻä¸ĺ¤ă§ăă ăăăăŻčŞăżĺăĺ°ç¨ă§ăă ä¸ä˝ăăŁăŹăŻăăŞăŻć¸ăčžźăżĺŻč˝ăŞăšăăźăšă§ăă ăăăăŁăŚăăăŽçšĺŽăŽă¤ăĄăźă¸ăçŠćĽľçăŤăăŤăăăăăăłăłăăă§ĺŽčĄăăŚĺŽéăŤĺ¤ć´ăĺ ăăăăăă¨ăăăŽä¸ä˝ăăŁăŹăŻăăŞăŤç§ťĺăăžăă ăăăŚăăăźă¸ăăăăăŁăŹăŻăăŞăŻăăłăłăăăĺŽéăŤä˝żç¨ăăŚăăăăĄă¤ăŤăˇăšăă ăŽčĄ¨çžă§ăă ăăŚăăăŽăăšăŚăŽć ĺ ąăčŚăăĺ ´ĺăăłăłăăă§ docker inspect ăĺŽčĄăăžăă
ăăŁăăăăŁăŚăżăžăăăă ăăă§ăŻăDockerDesktopăŽGUIă使ç¨ăăŚăăžăă ăăă§ăŻăăźă¸ă§ăł 4ă§čŚăăă¨ăă§ăăžăă35ăäťăŻçŤŻćŤăăăăžăă ă ăăç§ăŻăăŽăżăźăăăŤăéăă¤ăăă§ăă ăăăŚăç§ăăăăă¨ăăŚăăăă¨ăŻăăăŽçšĺŽăŽăłăłăăă§docker inspectăčĄăăă¨ă§ăă ăăăŚăăłăłăăIDăăłăăźăăŚăăăăŤăăăăăăžăă ăăă§ăinspect ăŻăăăŽçšĺŽăŽăłăłăăăŤé˘ăăăăăă税éĄăŽć ĺ ąăćäžăăžăă ăăŽăăšăŚăŽć ĺ ąăĺż čŚăŞăăă§ăŻăăăžăăă ăăă§ć˘ăé¨ĺăŻăă°ăŠăăăŠă¤ăăźă¨ĺźă°ăăăăŽă§ăă ăăăŚăç§ăăĄăŻăăăăăă§čŚăăă¨ăŤăŞăăžăă ă°ăŠă ăăŠă¤ăăźăŻăĺŽéăŤăŻĺăŹă¤ă¤ăźăŽä˝ç˝Žă示ăăŚăăžăă ăăăăŁăŚăăăă§ăŻä¸ä˝ăăŁăŹăŻăăŞă¨ăăăăăăšăŚăŽçšĺŽăŽăăŁăŹăŻăăŞăăăźă¸ăăăăăŁăŹăŻăăŞăä¸ä˝ăăŁăŹăŻăăŞăä˝ćĽăăŁăŹăŻăăŞă確čŞă§ăăžăă ăăăăăšăŚăăăăŤăŹă¤ă˘ăŚăăăăŚăăžăă ăăăŻăăăăăŽçšĺŽăŽăŹă¤ă¤ăźăŽăăăăăĺŽéăŤăăĄă¤ăŤăˇăšăă ăŽăŠăăŤäżĺăăăŚăăăăĺŽéăŤç¤şăăŚăăžăă ăăăŻăłăłăăć ĺ ąăŽä¸é¨ă§ă
ă¤ăĄăźă¸ăćĺă§ä˝ćăă (6:29)
ćĺă§çťĺăä˝ćă§ăăăă¨ăăĺçĽă§ăă? docker run ăĺŽčĄăăŚăć°ăăăłăłăăăéĺ§ă§ăăžăădocker exec 㨠docker cp ăĺŽčĄăăŚăä¸ä˝ăăŁăŹăŻăăŞă§ĺŽčĄä¸ăŽăłăłăăăŤĺ庌ĺ¤ć´ăĺ ăăăă¨ăă§ăăžăăăăăŚă docker commit ăĺŽčĄăăŚăăăŽăăĄă¤ăŤăˇăšăă ăă¤ăĄăźă¸ă¨ăăŚäżĺă§ăăžăă ăăă§ăăăăŻçťĺăä˝ćăăć¨ĺĽ¨ăăăćšćłă§ăŻăŞăăă¨ăé常ăŤć確ăŤăăăă¨ćăăžăă ăăăŻăăăŽăăăŞăă¨ăăăăă°ăăŚăăĺ ´ĺ㍠1 ĺéăă§ĺŽčĄă§ăăăăŽă§ăă ăăăăăťă¨ăăŠăŽĺ ´ĺăDockerfileă使ç¨ăăăă¨ăćăżăžăă Dockerfile ăŻăĺŽé㍠Docker ă¤ăĄăźă¸ăä˝ćăăăăăŽĺ垊ĺŻč˝ăŞć¨ćşĺăăăćšćłă§ăă Dockerfile ăŤăŻăăăŽçšĺŽăŽă¤ăĄăźă¸ăăăŤăăăćšćłăĺŽéăŤçč§ŁăăăŽăŤĺ˝šçŤă¤ăăă¤ăăŽăłăăłăăăăăžăă ç§ăăĄăŻăăăŽä¸ă¤ä¸ă¤ăčŚăŚăăăžăă
ćĺăŽăăŽăŻ FROM ăšăăźăăĄăłăă§ăă FROM ăšăăźăăĄăłăăŻăéĺ§ăăăăźăšăćäžăăžăă ĺşćŹă¤ăĄăźă¸ă¨ĺźă°ăăăăŽă ĺłĺ´ăŽäžă§ăŻăăăźăšă¨ăăŚFROMUbuntuă使ç¨ăăŚăăăă¨ăăăăăžăă 揥ăŤčĄăăă¨ăŻăă¤ăĄăźă¸ăŤ WORKDIR (ä˝ćĽăăŁăŹăŻăăŞ)ăč¨ĺŽăăăă¨ă§ăă ăłăłăăă¨ăłăłăăă¤ăĄăźă¸ăŻĺé˘ăăăăăĄă¤ăŤăˇăšăă ă§ăăăăăăăŽä˝ćĽăăŁăŹăŻăăŞăŻäťťćăŽăăŽăŤăăăă¨ăă§ăăžăă ăăŽĺ ´ĺ㯠/usr/local/app ă§ăă /app ăŽĺ ´ĺăăăăžăă/opt ăŽĺ ´ĺăăăăžăăăăăăžăĺé˘ăăăăăĄă¤ăŤăˇăšăă ă§ăăăăăăŞăăăăăŽăŞăä˝ă§ăăăžăăžăăă 揥㯠ăCOPY ăłăăłă㨠RUN ăłăăłăă§ăă ăăăŚăăăăăŻăăă¤ă§ăčĄăăă¨ăă§ăăžăă ĺż čŚăŞä˝ćĽăŤĺżăăŚăč¤ć°ăŽĺŽčĄăžăăŻč¤ć°ăŽăłăăźăăžăăŻĺĺžăŤĺŽčĄă§ăăžăă ăłăăźăŻćăăăŤăăăšăăťăăĄă¤ăŤăťăˇăšăă ăžăăŻăăŽäťăŽĺ ´ćăăăłăłăăăťă¤ăĄăźă¸ăťăăĄă¤ăŤăťăˇăšăă ăŤăłăăźăăŚăăžăă ĺŽčĄăŻăĺŽéăŤăŻăăŽă¤ăĄăźă¸ ăăĄă¤ăŤ ăˇăšăă ĺ ă§çŠäşăĺŽčĄăăŚăăžăă ăăăŻăăłăźăăŽăłăłăă¤ăŤăăăźăŤăŽă¤ăłăšăăźăŤăŞăŠăä˝ă§ăăăžăăžăăă ćĺžăŤă CMD (ăłăăłă)ăč¨ĺŽăăžăă ăăŽăłăăłăăŻăăăŽă¤ăĄăźă¸ăăłăłăăă¨ăăŚčľˇĺăăă¨ăăŤĺŽčĄăăăăăăŠăŤăăŽăłăăłăăŤăŞăăžăă ăăăŚăăăăăăŤăăăăăăŤă docker build ăłăăłăă使ç¨ăăžăă ăăăŻăă¤ăĄăźă¸ăć§çŻăăăăăŽć¨ćşĺăăăćšćłă§ăă
ăŹă¤ă¤ăźăŽĺŻčŚĺ (8:44)
ăăŚă揥ăŻăăăăăŽăŹă¤ă¤ăźăĺŽéăŤčŚăăŽăŻăŠăă§ăăăă? çťĺăăăĺ ´ĺăăăăăŽăŹă¤ă¤ăźă襨示ăăŚčŠłç´°ăĺĺžă§ăăžăă? ăŻăăăăăčĄăăŤăŻăăă¤ăăŽćšćłăăăăžăă ĺăŹă¤ă¤ăźăă¨ăŤčŠłç´°ăćäžăă Dockeră¤ăĄăźă¸ĺąĽć´ ăăăăžăă ĺŽéăŤGUIăŤç§ťĺăăŚć ĺ ąă確čŞă§ăăžăă ăžăăăă¤ăăăźăŤăŽăăăŤăăăĄă¤ăŤăˇăšăă ăăŹă¤ă¤ăźăă¨ăŤĺŽéăŤčĄ¨ç¤şăăäťăŽăŞăźăăłă˝ăźăšăăźăŤăăăăžăă ăăă§ăŻăçťĺăŽäžăăăă¤ăčŚăŚăżăžăăăă Docker DesktopăŤćťăă¨ăăżăźăăăŤăăŻăŞă˘ăăžăă ç§ăŽçťĺăŤčĄăăžăă ç§ăŽă˘ăłă´ăć˘ăăŤčĄăăăŚăă ăăăăăăŤăăăžăă ăăăŚăç§ăŻăă dockeră¤ăĄăźă¸ăăšăăŞăźă˘ăłă´ăčĄăăžăă ăăăŚăăăŽçšĺŽăŽçťĺăŽăăžăăžăŞăŹă¤ă¤ăźăŽăăăăă襨示ăăăžăă ăăă§ăăĺăŹă¤ă¤ăźăä˝ćăăăłăăłăă襨示ăăăžăă ĺŽéăŤăăăčŚăă¨ăĺăŹă¤ă¤ăźăŽăľă¤ăşă確čŞă§ăăžăă ăăăăŽăăă¤ăăŻä˝ăăŞăăă¨ăăăăăžăăăăăŽçšĺŽăŽăŹă¤ă¤ăźă§ĺŽéăŤä˝ă辡ăăŁăŚăăăăŤăăŁăŚăŻăăăăăăĺ¤§ĺš ăŤĺ¤ăăăŽăăăăžăă ăžăăGUIă§ăăăŤă˘ăŻăťăšăăăă¨ăă§ăăžăă ăăăăŻăŞăăŻăăă¨ăĺŽéăŤä¸ăŤĺ Ľăă¨ăăăšăŚăŽăŹă¤ă¤ăźăăăšăŚăŽç°ăŞăăŹă¤ă¤ăźă襨示ăăăžă 26 ă ăăăŚăăăŽçšĺŽăŽăăăąăźă¸ăŽăăšăŚăŽčĺźąć§ă確čŞă§ăăžăă čĺźąć§ăä˝ă§ăăăăăžăĺčĺźąć§ăăŠăŽăŹă¤ă¤ăźăŤăăăă確čŞă§ăăžăă
ă¤ăĄăźă¸ć§çŻăŽăăšăăăŠăŻăăŁăš (10:21)
ăăŚăçťĺăŽć§é ă¨ăăăä˝ă§ăăăăăăăŚăŞăăăăŞăŽăăŤă¤ăăŚĺ°ăçč§Łăăă¨ăăă§ăçťĺăŽăăšăăăŠăŻăăŁăšăŤă¤ăăŚčŠąăĺ§ăăžăăăă ćĺăŽ1ă¤ăŻăăăăăăăŞăăŽĺ¤ăăăă§ăŤăăăć¨ć¸ŹăăŚăăăăăŞăăŽçťĺăŤç§ĺŻăĺŤăăŞăă§ăă ăăă ăŞăăŞăăĺžă§çťĺăăĺé¤ăăŚăă常ăŤăăăŤăăăăă§ăă çťĺăŹă¤ă¤ăźăŻăçťĺăŤć¸ăčžźăă¨ăăăŤä¸ĺ¤ă§ăăăăăć°¸é ăŤĺĺ¨ăăžăă ćąşăăŚăćąşăăŚăç§ĺŻăŤăłăăźăăŚăĺžă§ăăăăŽç¨ŽéĄăŽăăŽăĺé¤ăăăă¨ăŻăăăžăăă ăˇăźăŻăŹăăăŻĺ¸¸ăŤĺŽčĄćăŤăłăłăăăŤćäžăăăăăŽă§ăăăă¤ăĄăźă¸čŞä˝ăŤăă¤ăŻăăăăăŽă§ăŻăăăžăăă
揥ăŻăăźăšă¤ăĄăźă¸ă使ç¨ăăăă¨ă§ăă ĺşćŹă¤ăĄăźă¸ă使ç¨ăăŚăăĺ ´ĺăŻăăăŽĺşćŹă¤ăĄăźă¸ăăŠăăăćĽăăŽăăäżĄé źăăĺż čŚăăăăžăă ăăŽăăźăšă¤ăĄăźă¸ăŻăăăăăŠăăăćĽăŚčްăä˝ćăăăăçĽăŁăŚăăăăŽă§ăăăă¨ă確čŞăăĺż čŚăăăăžăă ăăăŻăDockerăŽäżĄé źă§ăăăłăłăăłăăŽăăăŞăăŽă§ă - DockerăŽĺ Źĺźă¤ăĄăźă¸ăDockerć¤č¨źć¸ăżăŽçşčĄč ă¤ăĄăźă¸ăăžăăŻçŽĄçăăăă¤ăĄăźă¸ăăăŽçšĺŽăŽé¨ĺăŤĺ˝šçŤăĄăžăă ăžăăŻăăăăćäžăăäťăŽăăłăăźăăăăžăă ăžăăŻăçŹčŞăŽăăźăšă¤ăĄăźă¸ăä˝ćăăăă¨ăă§ăăžăă ăăăăŞăăˇă§ăłă§ăă ăăăăăŠăŽăăăŞćšćłă§ăăăăŽăăźăšă¤ăĄăźă¸ăăŠăăăćĽăŚăăăŽăăçĽăĺż čŚăăăăžăă
揥ăŻćć°ăŽăżă°ă§ăă latest ăżă°ăăăăŠăŤăăŽăżă°ă§ăă ăăăŚăăĺçĽăŽăăăŤăăăăŻé常ăŤä˝żăăăăă§ăă ăăźăăăăăžăăŻnginxăăăăăŽăăăŞăă¨ăč¨ăăă¨ăă§ăăžăă ăăăŚăĺ¤ăăŽäşşăăăăăŚăăžăă ăăăŚăç§ăăăŞăăŤäźăăăă¨ăăŚăăăă¨ăŻăăăŞăăćć°ăŽăżă°ă使ç¨ăăŚăăĺ ´ĺăăăăăăŞăăŽăăŤăăĺŁăćĽăćĽăă¨ăăăă¨ă§ăă ăă°ăăăŻăăžăăăă§ăăăă ăăăŚăçŞçśăăźă¸ă§ăłăĺ¤ăăăžăă ăăŞăăäşćłăăŚăăŞăăŁăä˝ăăéăă§ăăăă ăăăŚçŞçśă寞ĺŚăăŞăăă°ăŞăăŞăă¨ăŠăźăçşçăăžăă ăăăăŁăŚăćć°ăŽăżă°ă使ç¨ăă䝣ăăăŤăçšĺŽăŽăăźă¸ă§ăłăŤĺşĺŽăăĺż čŚăăăăžăă ăăŽăăăŤăŻăăăăŻĺ¤ĺăăăčŞĺăä˝ăćăŁăŚăăăŽăăăăăŚăăŞăăä˝ćĽăăŚăăăăŽăăăŞăăăăŽçšĺŽăŽçťĺăŽăŠăŽăăźă¸ă§ăłă§ä˝ćĽăăŚăăăŽăăćŁç˘şăŤçĽăăă¨ăă§ăăžăă
ćĺžăŽ1ă¤ăŻăăăăŠăŤăă§ăŻăçťĺăŤăŻrootăŚăźăśăźăăăăă¨ă§ăă é root ăŚăźăśăźăč¨ĺŽăăĺż čŚăăăăžăă user ăłăăłăă使ç¨ăăă¨ăăŚăźăśăźăćĺŽă§ăăžăă ăăăŤăăăŚăźăśăźăŽć示ăŤč¸ăżčžźăă é常ăŤç´ ć´ăăăăăă°ăăăăžăă ăăăčŚăŚăżăăă¨ă埡ăăĺ§ăăăžăă
ă¤ăĄăźă¸ă´ăźăŤ (12:40)
ăăŚăăăă§ăŻăçťĺăć§çŻăăéăŽăăă¤ăăŽçŽć¨ăŤă¤ăăŚčŠąăăžăăăă 1ă¤çŽăŻăĺŻč˝ăŞéăçťĺăŽăľă¤ăşă縎ĺ°ăăăă¨ăăăă¨ă§ăă çťĺăŤä˝ĺăŞăăŽăĺ Ľăăĺż čŚăŻăăăžăăă 揥ăŤăĺĺŠç¨ăäżé˛ăăăăăŤăŹă¤ă¤ăźăć§é ĺăăăă¨čăăŚăăžăă ăŹă¤ă¤ăźăçťĺăăăčż éăŤä˝ćăăä˝ćĽă厚ćăŤăăăŽăŤĺ˝šçŤă¤ăăăŤăăăă¨čăăŚăăžăă ăăăŚăă˘ăăŞăąăźăˇă§ăłăŽĺŽčĄăŤĺż čŚăŞăăŽă ăăĺŤăăžăă ăăŽăăăéçşă§éčŚă ăŁăçĄé˘äżăŞăăźăŤăćŹçŞç°ĺ˘ăŤĺŤăăăăăăžăăă
ăăăăŽăă¨ăŽä¸ă¤ä¸ă¤ăăŠăŽăăăŤčĄăăŽă§ăăăă? ăžăăĺăŹă¤ă¤ăźă§ä˝ăăłăăźăăŚăăăŽăăăăăŚćŹĺ˝ăŤčż˝ĺ ăăă¤ăăă ăŁăăăŽă ăăčż˝ĺ ăăŚăăăă¨ă確čŞăăăăăŤăăŠăŽăăăŤć§ćă§ăăăăčăăžăă ă§ăŻăăăăŤăăăăŽäžăčŚăŚăżăžăăăă ç§ăăĄăăăăăăŽăŻăç§ăăĄăé˛ăăŤă¤ăăŚăŻăŞăźăłă˘ăăăăăă¨ăăăă¨ă§ăă ăăăŤăŻăUbuntuăŽĺˇŚĺ´ăŽäžăăăăžăă apt update ăĺŽčĄăăpython3-pip install flask ăă¤ăłăšăăźăŤăăŚăăăćĺžăŽ 2 ă¤ăŽăłăăłăăŽăăšăŚăŽăăŽăĺé¤ăăžăă ăăŚăăăăŻăăŞăčŻăăăă§ăă? ăĺçĽăŽăăăŤăç§ăăĄăŻčŞĺăăĄăŽäťäşăăăŚăăžăă ç§ăăĄăŻăăăŽăăăŞăă¨ăčŞĺăăĄă§ĺžçäťăăăăăăŤăăŚăăžăă
ăăăăăăă§ĺ°ăčăăŚăżăžăăăă ăăăăŽçˇăŽăăăăăŻăć°ăăăŹă¤ă¤ăźăä˝ćăăžăă ăăŽăăăĺăŹă¤ă¤ăźăŻć¸ăčžźăžăăă¨ăăăŤä¸ĺ¤ăŤăŞăăžăă ăăăăŁăŚăĺŽéăŤăŻăŞăźăłă˘ăăăă䝣ăăăŤăćĺžăŽ 2 ă¤ăŽăłăăłăăŻăăăŽçšĺŽăŽă¤ăĄăźă¸ă§ĺé¤ă§ăăŞăçšĺŽăŽăăĄă¤ăŤăŽăăŻă¤ăă˘ăŚă ăăĄă¤ăŤăčż˝ĺ ăăăăăĺŽéăŤăŻăăŽăľă¤ăşăŤčż˝ĺ ăăăŚăăžăă ăăăčĄă䝣ăăăŤăăăăăăšăŚăŽăłăăłăă 1 ă¤ăŽăłăăłă㨠1 ă¤ăŽăŹă¤ă¤ăźă¨ăăŚĺŽčĄă§ăăĺ ´ĺăăăăăăšăŚăŽĺşĺăăŹă¤ă¤ăźă¨ăăŚăăĄă¤ăŤ ăˇăšăă ăŤć¸ăčžźăžăăăăŽăŤăŞăăă¨ăćĺłăăžăă ăăăăŁăŚăĺłĺ´ăŽäžăŤç§ťĺăăă¨ăăăăŤăŻ 1 ă¤ăŽ run ăłăăłăăăăăă˘ăłăăľăłăă¨ăšăŠăăˇăĽă使ç¨ăăŚăăăăăšăŚăŽç°ăŞăăłăăłăă 1 ă¤ăŤçľĺăăŚăăăă¨ăăăăăžăă ăăăćĺłăăăŽăŻăăăăăăšăŚăä¸ĺşŚăŤĺŽčĄăăăăăšăŚăĺćăŤĺŽčĄăăăăăŽçľćăăăĄă¤ăŤăˇăšăă ăŤć¸ăčžźăžăăă¨ăăăă¨ă§ăă ăăăăŁăŚă塌ĺ´ăŽăłăăłăăăä˝ćăăăă¤ăĄăźă¸ăŻ 460 MB ăŤăŞăăžăăĺłĺ´ăŽćŠč˝çăŤĺăçťĺăŻăăă 157 MB ă§ăă ă㎠1 ă¤ăŽăłăăłăăĺ¤ć´ăăă ăă§ 66% ăŽĺ¤ć´ă§ăă ă¤ăžăăăŹă¤ă¤ăźă§ä˝ăăăŚăăăŽăăčăăĺŽéăŤă¤ăĄăźă¸ăŽĺăŹă¤ă¤ăźăăŠăŽăăăŤć¸ăăŚăăăăĺšççăŤä˝ćăăăăăŤăăŻăŞăźăłă˘ăăăčĄăăă¨ă§ăă
ăăŤăăăŁăăˇăĽ(15:50)
ăăŚă揥ăŽçŽć¨ăŻăĺĺŠç¨ăäżé˛ăăăăăŤăŹă¤ă¤ăźăć§é ĺăăăă¨ă§ăă ăăŽăăăĺăăŤăăŽĺ¤ć´ăŹă¤ă¤ăźăŽć°ăć¸ăăăă¤ăĄăźă¸ăăăăˇăĽăăăłăăŤăăăăăŽĺ¸Żĺĺš ăć¸ăăăžăă ăăŚăăăŽćçšă§ăŹă¤ă¤ăźăŤă¤ăăŚĺ°ă芹ăăžăăăăăŞăăăŽăŹă¤ă¤ăźăŽăă¨ăăăŚăăăŽăăŻćŹĺ˝ăŤčŞŹćăăŚăăžăăă ăăăŚăăăŽăŹă¤ă¤ăźăŽăă¨ăăăŁăŚăăççąăŽ1ă¤ăŻăăăă§čŞŹćăăŚăăăă¨ă§ă:ĺăŹă¤ă¤ăźăŻä¸ĺ¤ă§ăăăăŹă¤ă¤ăźăŻĺĺŠç¨ă§ăăăăăĺŽéăŤă¤ăĄăźă¸ăăăŤăăŚăăăˇăĽăăăăă¤ăĄăźă¸ăăăŤăăăăăăă¨ăăŤăăăŽăŹă¤ă¤ăźăćŻĺĺć§çŻăă䝣ăăăŤăăăŽăŹă¤ă¤ăźăŽăăŁăăˇăĽăăăăăźă¸ă§ăłă使ç¨ă§ăăăă¨ăćĺłăăžăă ăăăŻăçťĺăć§çŻăăă ăă§ăŞăăĺż čŚăŞăŹă¤ă¤ăźăŤĺżăăŚçťĺăăăăˇăĽăăăłăăŤăăĺ ´ĺăŤă大ăăŞăĄăŞăăă§ăă ăăŤăăăŁăăˇăĽăŻăĺŽéăŤă¤ăĄăźă¸ăăăŤăăăă¨ăăŤé常ăŤéčŚăŤăŞăăžăă ăăŽăăăăăŤăăăŁăăˇăĽăŻăĺŻč˝ăŞéăăŹă¤ă¤ăźăĺĺŠç¨ăăăă¨ăăžăă ăăăăŁăŚăăăŁăăˇăĽ ăŤăźăŤă§ăŻăčż˝ĺ ĺ˝äť¤ă¨ăłăăźĺ˝äť¤ăă¨ăŤăăłăłăăłăăžăăŻăĄăżăăźăżăŽăă§ăăŻăľă ăä˝ćăăăăăăŤčŚĺŽăăăŚăăžăă ăă§ăăŻăľă ăĺ¤ć´ăăăă¨ăăăŁăăˇăĽăŻçĄĺšăŤăŞăăžăă ă¤ăžăăăă¨ăă°ăă˝ăźăšăăŁăŹăŻăăŞăă¤ăĄăźă¸ăŤăłăăźăăŚăăŚăăăŽă˝ăźăšăăŁăŹăŻăăŞĺ ăŽä˝ăăĺ¤ć´ăăă¨ăăă§ăăŻăľă ăĺ¤ć´ăăăăłăăźăăĺż čŚăăăăăŽăĺ¤ć´ăăăăăăăŁăăˇăĽăçĄĺšăŤăŞăăžăă RUN ăłăăłăăĺ¤ć´ăăăă¨ăăăŁăăˇăĽăŻçĄĺšăŤăŞăăžăă ăăăăŁăŚăăăŤăä¸ăŽäťťćăŽćçšă§ăăŁăăˇăĽăçĄĺšăŤăŞăă¨ăăăŽăăŤăăŽćŽăăŽé¨ĺăă¤ăžăăăŽçšĺŽăŽăăŤăăŽćŽăăŽăăšăŚăŽăŹă¤ă¤ăźăŤĺŻžăăŚăăŁăăˇăĽăçĄĺšăŤăŞăăžăă ăăăćĺłăăăŽăŻăćŹĺ˝ăŤéŤéăŞăăŤăăĺż čŚăŞĺ ´ĺăăăŽăăŁăăˇăĽăŻăăŤăăăăťăšä¸ăŤă§ăăă ăé ăăžă§çĄĺšăŤăăĺż čŚăăăă¨ăăăă¨ă§ăă ăăă§éčŚăŞăŽăŻăJavaăŞăŠăŽçšĺŽăŽćčĄăťăăăŤĺŻžăăŚăăŁăăˇăłă°ăč¨ĺŽăăăă¨ăăăăćšćłă§ćŠč˝ăăăăă¨ăăŁăŚăăăšăŚăŽćčĄă§ĺăăăăŤćŠč˝ăăăăă§ăŻăŞăă¨ăăăă¨ă§ăă 確čŞăăĺż čŚăăăăăŁăăˇăłă°ăŤăźăŤăŻăçšĺŽăŽăăŻăăă¸ăźăšăżăăŻăŤăăŁăŚç°ăŞăăžăă
ăăŁăăˇăĽăĺŁăăĺ ´ćăçšĺŽăă (17:47)
ăăŚăćĺăŤčŚăăšăăă¨ăŻăăăŁăăˇăĽăăŠăă§ĺŁăăăŽăăćŹĺ˝ăŤçč§Łăăăă¨ăăăă¨ă§ăă? ăăăčĄă 1 ă¤ăŽćšćłăŻăăăŤăăĺŽčĄăăŚĺşĺă確čŞăăăă¨ă§ăă ăăŽäžă§ăŻăĺłĺ´ăŽčĄăčŚăă¨ăä˝ćĽăăŁăŹăŻăăŞăŽăăŁăăˇăĽăăă 2 ă襨示ăăăžă 4 ă ăăăŻăăăŽăšăăăăăăŁăăˇăĽăăăăă¨ăćĺłăăžăă ĺŽéăŤăŻĺŽčĄăăăŚăăžăăă ăăăŻĺăŤăăăźăŤăŤăăĄă¤ăŤăˇăšăă ä¸ăŽăŹă¤ă¤ăźăăĺĺžăăăžăăă 䝼ä¸ăŽ copy ăšăăźăăĄăłă㨠run ăšăăźăăĄăłăăŻăăăŽéŁăŤ cache ăšăăźăăĄăłăăăŞăăăăŤăăŁăăˇăĽăăăžăăă§ăăă ăŹă¤ă¤ăźăčŚăŚăăŠăŽăŹă¤ă¤ăźăĺŽéăŤĺĺŠç¨ăăăăŠăŽăŹă¤ă¤ăźăĺĺŠç¨ăăăŞăăŁăăăçč§Łă§ăăžăă ăăăăŁăŚăăăăŻăăŁăăˇăĽăçşçăăĺż čŚăăăĺ ´ćăĺŽéăŤçč§Łăăç°ĄĺăŞćšćłă§ăă ăăăčĄăĺĽăŽćšćłăŤă¤ăăŚăŻăăăŹăźăłăăźăˇă§ăłăŽĺ°ăĺžă§čŞŹćăăžăă
ăăŚăçťĺăć§çŻăăéăŤçč§ŁăăšăéčŚăŞăă¨ăŽ1ă¤ăŻăĺŽéăŤĺŽćçăŤĺ¤ć´ăăĺż čŚăăăăăŽăŤă¤ăăŚă§ăă 確ăăŤăă˘ăăŞăąăźăˇă§ăłăłăźăăŻĺŽćçăŤĺ¤ć´ăăăžăă ăăăăă˘ăăŞăąăźăˇă§ăłăŽč¨ĺŽăŻĺŽćçăŤĺ¤ć´ăăĺż čŚăăăăžăă? ăăśăăăăăăŞăă§ăă ĺŽéăŤă˘ăăŞăąăźăˇă§ăłăăťăăă˘ăăăăéŠĺăŤć§ćăăă¨ăăăŽăłăźăăé ťçšăŤĺ¤ć´ăăăă¨ăŻăăăăăŞăăŞăăžăă ăăăăŁăŚăăăăŽĺˇŚĺ´ăŽäžăčŚăă¨ăFROMăăźăăăăăçžĺ¨ăŽăăŁăŹăŻăăŞăăăăŽçšĺŽăŽă¤ăĄăźă¸ăŤăăšăŚăăłăăźăăŚăăžăă npm installăĺŽčĄăăŚăăžăă ç§ăăĄăŻć¸Żăĺ ŹéăăŚăăăă¨ăłăăŞăźăă¤ăłăăčĄăă¨č¨ăăžăăă ăăŚăăăăčŚăă¨ăă˝ăźăšăłăźăăŽĺ¤ć´ăŞăŠăăŠăŽăăăŞĺ¤ć´ăă2çŞçŽăŽăšăăăă§ăăŁăăˇăĽăć¤č¨źăăăă¨ăćĺłăăžăă ă¤ăžăănpm installăŻĺ¸¸ăŤćŻĺĺŽčĄăăĺż čŚăăăăžăă ä¸ćšăĺłĺ´ă§ăŻănpm installăĺż čŚă¨ăăăăă¤ăăŽăăĄă¤ăŤăĺĺžăăăăăăćĺăŤăłăăźăăŚăănpm installăĺŽčĄăăćŽăăŽă˝ăźăšăă¤ăĄăźă¸ăŤăłăăźăăžăă ăăă§ăăăŁăăˇăĽăĺŁăăĺ ´ćăä˝ăăă¤ăłăăŤç§ťĺăăăŽă§ăăăăąăźă¸JSONă¨ăăăąăźă¸ăăăŻJSONă¨npm installăŽăłăăźăăăŁăăˇăĽă§ăăçšĺŽăŽă¤ăĄăźă¸ăć§çŻăăăăłăŤăăŤăăéŤéĺă§ăăžăă
ă§ăŻăăăăŤä¸ćŠč¸ăżčžźăă§ăżăžăăăă ç§ăăłăăźăăŚăăă˝ăźăšăç´ç˛ăŤă˝ăźăšă§ăăă¨ăăžăăăă HTMLăăĄă¤ăŤă§ăä˝ă§ăăăžăăžăăă ăăăŚăăăŽçšĺŽăŽăŹă¤ă¤ăźăŻäťăŽăŹă¤ă¤ăźă¨ç¸äşä˝ç¨ăăăă¨ăŻăăăžăăă ĺžă§ĺĽăŽăšăăăăŞăŠă§ăłăłăă¤ăŤăăă¤ăăăŻăăăžăăă ăăăŻĺăŤăăăŤĺ ĽăŁăŚăăăăĄă¤ăŤăŽăťăăă§ăă âlinkăłăăłăă使ç¨ăăŚăĺşćŹçăŤăăŽăŹă¤ă¤ăźăŻäťăŽăŹă¤ă¤ăźăăçŹçŤăăŚăăă¨č¨ăăă¨ăă§ăăžăăăăŽçšĺŽăŽćé ăç°ăŞăĺ ´ĺă§ăăăăŁăăˇăĽăçĄĺšăŤăăŞăă§ăă ăăă ăăăŤăăăĺŽéăŤă˝ăźăšăłăźăăĺ¤ć´ăăăăŽă˝ăźăšăłăźăăŽĺ¤ć´ăĺžçśăŽăăŤăăŤăłăăźă§ăăăăăŤăŞăăžăăăăăŁăăˇăĽăçĄĺšăŤăăăă¨ăŻă§ăăžăăă ăăŽăăăăăŁăăˇăĽăŻăăźăăŽĺ Źéă¨ćĺžăŽăłăăłăăŽăăăŤćĺŽăŽä˝ç˝ŽăŤćŽăăžăă ăăăăŁăŚăăăăŻćăăăŞççąă§COPYăłăăłăă¨ADDăłăăłăă§ăŽăżćŠč˝ăăžăăăăăŤăăŽĺžăŽăšăăăăŤĺŤăžăăŞăăăŽăăłăăźăăĺ ´ĺăŻăâlinkăłăăłăă使ç¨ăăŚăăŁăăˇăĽăçśčĄă§ăăžăă
ăăăăŽćĺžăŽ 1 ă¤ăŻăă˘ăăŞăąăźăˇă§ăłăŽĺŽčĄăŤĺż čŚăŞăăŽă ăăĺŤăăăă¨ă§ăă ă§ăăăăćŹçŞç°ĺ˘ă§ä˝ăăŤééăăĺ ´ĺăăăŽćŹçŞç°ĺ˘ăˇăšăă ă§ćŞç¨ăăăĺŻč˝ć§ăŽăăçĄé˘äżăŞăăŽăăăăăăăăă¨ăŻéżăăăăăŽă§ăă ç§ăăĄăŻăăăŽéç¨ăˇăšăă ăă§ăăă ăăŻăŞăźăłă§ăăĺşăăŤăăĺŽčĄăăĺż čŚăăăă˘ăăŞăąăźăˇă§ăłăĺç´ăŤĺŽčĄă§ăăăăăŤăăăă¨čăăŚăăžăă ă§ăŻăéçşăŤĺ˝šçŤă¤ă¤ăĄăźă¸ăćăĄăŞăăăăŠăŽăăăŤăăăĺŽçžăăŚăăăŽă§ăăăă?
ăăŤăăšăăźă¸ăăŤă (21:41)
ăăŚăç§ăăĄăŻăăŤăăšăăźă¸ăăŤăăŽăăŽćŚĺżľăćăŁăŚăăžăă ăăŤăăšăăźă¸ ăăŤăă使ç¨ăăă¨ăDockerfile ĺ ăŤăă ăă¤ăăŠă¤ăłăä˝ćă§ăăžăă ăăŽăăăăăŤăćă¤ăĄăźă¸ă¨ăŠăłăżă¤ă ă¤ăĄăźă¸ăĺé˘ăăŚăăă䝼ä¸ăŽăă¨ăčĄăăă¨ăă§ăăžăă COPY âfrom=<stage> ăĺŽčĄăăŚăĺăŽăšăăźă¸ăăăłăăźă§ăăžăăćĺžăŽăšăăźă¸ăŻăăăŽçšĺŽăŽăăŤăăŽăăăŠăŤăăŽăżăźă˛ăăăŤăŞăăžăăăăŞăźăăźăŠă¤ăăăăă¨ăă§ăăžăăăăăŤă¤ăăŚăŻăăăă§ăŻăăăŤčŞŹćăăžăă ăăăăŁăŚăăăăŽä¸é¨ăŤăăäžăčŚăă¨ăăšăăźă¸1ă¨ăăŚFROM<image>ăăăăžăă ăăăŚăăăăăăŽăłăăźăăŠăłăčĄăăçŠäşăăłăłăă¤ăŤăăăŞăŠăăăžăăžăŞăă¨ăčĄăŁăŚăăžăă ăăŽĺžăFROM <image2>ăăăăăăăšăăźă¸ 2 ă¨ăăŚĺĽăŽăăźăš ă¤ăĄăźă¸ăä˝ćăăăžăă 揥ăŤăăšăăźă¸1ăăă䝼ĺăŤčĄăŁăăăšăŚăŽăłăłăă¤ăŤă¨ăłăăźăŽĺşĺăăăŠăłăżă¤ă ç°ĺ˘ă¨ăŞăăšăăźă¸2ăŽăăŁăŹăŻăăŞăŤăłăăźăăžăă ăăăăŁăŚăĺşĺăăłăăźăăŚăăă ăă§ăćŹçŞç°ĺ˘ă§ĺż čŚăŽăŞăäťăŽăăšăŚăŽé¨ĺăăłăăźăăŚăăăăă§ăŻăăăžăăă
ăăăĺŽéăŤăŠăŽăăăŤčŚăăăă確čŞăăăă㎠React ăŽäžă揥ăŤç¤şăăžăă ăăŽçšĺŽăŽăă¨ăčŚăŚăăăžăăăă ăăă§ăNodeă使ç¨ăăŚReactăłăźăăăăŤăăăăăăăăšăŚăéçWebăľăźăăźăŤăłăăźăăžăă FROM node:lts AS ăăŤăăăăăžăăăăăç§ăăĄăŽăăŤăăšăăźă¸ă§ăă ä˝ćĽăăŁăŹăŻăăŞăč¨ĺŽăăžăă ăăăąăźă¸JSONă¨package-lock JSONăăłăăźăăžăă NPMăă¤ăłăšăăźăŤăăžăă ăăăŞăăŻăăŁăŹăŻăăŞăă˝ăźăšăăŁăŹăŻăăŞăŤăłăăźăăžăă ç§ăăĄăŻăăŤăăčĄăăžăă ăăăăŽćé ăăăšăŚĺŽčĄăăŚăĺŽéăŤă˘ăăŞăąăźăˇă§ăłăăăŤăăăžăăă 揥ăŤăFROM nginx:alpineăĺŽĺ ¨ăŤç°ăŞăăăźăšă¤ăĄăźă¸ăăăăžăă ăăšăăăăăŽć°ăăăšăăźă¸ăŤnginxć§ćăăłăăźăăžăă 揥ăŤăăăŤăăšăăźă¸ăŽĺşĺănginx HTMLăăŁăŹăŻăăŞăŤCOPY âfrom=buildăăžăă ăăă§ăĺŽéăŤăăăăŻăˇă§ăłă¤ăĄăźă¸ăĺŽčĄăăăăăŤĺż čŚăŞé¨ĺăŽăżăćă¤ăăăăŻăˇă§ăłă¤ăĄăźă¸ăă§ăăžăăă
ăăăžă§ăŻ2ă¤ăŽăšăăźă¸ăăăăžăăăăăŞăăăŁă¨ĺ¤ăăŽăšăăźă¸ăăŞăăŽă§ăăăă? č¤ć°ăŽç°ăŞăăšăăźă¸ăćă¤ăă¨ăă§ăăžăă ăăăŻăĺăDockerfileĺ ă§éçşă¤ăĄăźă¸ă¨ćŹçŞă¤ăĄăźă¸ăĺŽéăŤăăŤăă§ăăăă¨ăćĺłăăžăă ăăŽäžăčŚăŚăżăžăăăă FROM node:lts AS baseăăăăăăă§čĄăŁăŚăăăŽăŻä˝ćĽăăŁăŹăŻăăŞăŽč¨ĺŽă ăă§ăă 揥ăŤăFROM base AS dev ăăăăăłăăłăăč¨ĺŽăăžăă ăăŽćçšă§ăĺłĺ´ăŤăăăăăŤăĺŽéăŤdevăŽăżăźă˛ăăă§ăăŤăăčĄăăăăšăä¸ăŽăăŁăŹăŻăăŞăŽăăĄă¤ăŤăă¤ăłăăăŚăłăăčĄăăăăźăăč¨ĺŽăăéçşă¤ăĄăźă¸ăćă¤ăă¨ăă§ăăžăă éçşč ă¨ăăŚä˝ćĽăăćşĺăă§ăăŚăăă¤ăĄăźă¸ăăăăăăă使ç¨ăăŚăăšăăˇăšăă ăŤĺ¤ć´ăĺ ăăĺŽčĄä¸ăŽăłăłăăăŤĺć ăăăăŽăčŚăăă¨ăă§ăăăŽăŻç´ ć´ăăăăă¨ă§ăă 揥ăŤăFROM base AS ăăŤăăä˝ćăăĺăŤĺŽčĄăăăăšăŚăŽăłăăłăăĺŽčĄăăžăă ăăăŚćĺžăŤăFROM nginx:alpineă使ç¨ăă製ĺçăăăăžăă ăăăŤăăăéçşă¤ăĄăźă¸ă¨éç¨ă¤ăĄăźă¸ăĺăDockerfileĺ ăŤćă¤ăă¨ăă§ăăăăăŤăŞăă严ćšăŽăăźă¸ă§ăłăŽă¤ăĄăźă¸ă§ä˝ă辡ăăŁăŚăăăăćŁç˘şăŤç˘şčŞă§ăăăăăŤăŞăăžăă
ćć°ăŽăăŤăă¨DockerfileăŽćŠč˝(24:59)
揥ăŤăćć°ăŽăăŤăćŠč˝ă¨ Dockerfile ćŠč˝ăŤă¤ăăŚčŞŹćăăžăă ă¤ăžăăăăă§ăŽćĺăŽăăŽăŻăăŚăłăă§ăă ăăă§ăçťĺăŤăˇăźăŻăŹăăăĺŤăăŞăăă¨ăŤă¤ăăŚĺ ăťăŠă芹ăăăžăăă ăăăŻé常ăŤćŞăčăă§ăă 䝣ăăăŤä˝ăăăšăă§ăă? ăăŤăăŤSSHăăźăŞăŠăŽăˇăźăŻăŹăăăĺż čŚăŞĺ ´ĺăăžăăŻĺăŤĺĽăŽăăĄă¤ăŤăˇăšăă ăăăŽăăŤăăŤăă¤ăłăăăĺż čŚăăăĺ ´ĺăŻăŠăă§ăăăăă ăăă§çťĺ ´ăăăŽăăăŚăłăă§ăă ăăŚăłăă使ç¨ăăă¨ăăăŤăä¸ăŤăăĄă¤ăŤăˇăšăă ăĺ¤ć´ă§ăăžăă ăă ăăăăĄă¤ăŤăˇăšăă ăŤä˝ăăčż˝ĺ ăăăăă§ăŻăăăžăăă ăăŤăăăăťăšä¸ăŤä¸ćçăŤă˘ăżăăăăă ăă§ăă ăăŽăăăăăšăăăŁăŹăŻăăŞăä˝ćăăăăŤăăŤăăŚăłăăăăă¨ăă§ăăžăăă ăă§ăŤăŠăăĺĽăŽĺ ´ćăŤăăŁăăˇăĽăć§çŻăăăăă使ç¨ăăăăŽă§ăăă°ăăăŁăăˇăĽăăŁăŹăŻăăŞăćă¤ăă¨ăă§ăăžăă ç§ăăĄăŤăŻç§ĺŻăăăăăăăăžăăă SSHăăźăćă¤ăă¨ăă§ăăžăă ăăăăăă¨ă°ăăă§ăă
ă ăăăăăăŽäžăčŚăŚăăăźăăăă ăăăąăźă¸ă¨çł¸ăăłăăźăăžăă yarn install ăĺŽčĄăăžăă ăăăănpmăŽčłć źć ĺ ąăŽç§ĺŻăăăŚăłăăăžăă ăăăŚăăăŽăăŤăăźă使ç¨ăăăăŁăăˇăĽăŤăăăŚăłăăăžăă ăăăăŻä¸ćçăŤăăŚăłăăăăžăăăăăŽçšĺŽăŽă¤ăĄăźă¸ăŽä¸é¨ăŤăŻăŞăăžăăă
揥㯠HEREDOC ăŽăľăăźăă§ăă ĺ ăťăŠăŽäžă§ăă˘ăłăăľăłăă¨ăšăŠăăˇăĽă使ç¨ăăŚăłăăłăăçľăżĺăăăžăăă HEREDOCă使ç¨ăăă¨ăă˘ăłăăľăłăăăšăŠăăˇăĽăăăšăŚčĄăăă¨ăŞăăĺŽéăŤč¤ć°ăŽčĄăăžă¨ăăăă¨ăă§ăăžăă 塌ĺ´ăŽäžăčŚăă¨ăRUNă¨EOT bashăăăăžăă ăăăŚăăžă¨ăăăłăăłăăăăăăăăăžăă ăăăŚăăăăăŻăăšăŚ 1 čĄă¨ăăŚĺŽčĄăăăžăă ĺłĺ´ăŤăŻăă¤ăłăżăźăăŞăżăźăćĺŽăăŚăăŠă¤ăłăŽĺ°ĺˇăŞăŠăăăŽä¸ă§ăăžăăžăŞăă¨ăčĄăăă¨ăă§ăăžăă ăăŽăăăHEREDOC ăŽăľăăźăăŻćčťć§ăéŤăăDockerfile ăŽăŻăŞăźăłă˘ăăăŤă彚çŤăĄăžăă
ăăŤăă˘ăźăăăŻă㣠(26:57)
ăăăŤă¤ăăŚăŻćĺăŤă芹ăăăžăăă ăăăŤă¤ăăŚäťčŠąăăžăăăă ă¤ăĄăźă¸ăăăŤăăăĺ ´ĺăăăŽă¤ăĄăźă¸ăŻăçžĺ¨ĺŽčĄăăŚăăă˘ăźăăăŻăăŁăŤĺăăăŚăăŤăăăăăă¨ăćĺłăăžăă Mac M2 ăăˇăłăăăčśăă§ăă ă¤ăĄăźă¸ăăă¤ăăŁăăŤăăŤăăăă¨ăăăŽă¤ăĄăźă¸ăŽARM 64 ă¤ăĄăźă¸ăăăŤăăăăžăă ăă¨ăă°ăăăŽă¤ăĄăźă¸ă AMD 64 ă§ĺŽčĄăăĺż čŚăăăĺ ´ĺăăăŽă˘ăźăăăŻăăŁăŽă¤ăĄăźă¸ăăăŤăăăŚĺŽčĄă§ăăăăăŤăăĺż čŚăăăăžăă ăăŤăă˘ăźăăăŻăăŁăăŤăăŻăăăŽćŠč˝ăćäžăăžăă ăăă§ăŽäžăčŚăă¨ăăăăŤăŻăăă¤ăăŽăšăăźăăĄăłăăăăăžăă ăăŤăă¨ă㌠FROM âplatform=$BUILDPLATFORM ăăźăăăăăžăă ăăă§ăŽBUILDPLATFORMăŻăć§çŻăăăăă¤ăăŁăăăŠăăăăŠăźă ăŤăŞăăžăă ç§ăŽĺ ´ĺăăăăARM 64 ă§ăăăăăăŤăŻăĺŽéăŤăăăăăšăŚăŽç°ăŞăăăŽăä¸çˇăŤć§çŻăăŚăăăăžăăžăŞăšăăźăăĄăłăăčŚăăăžăă 揥ăŤăFROM âplatform=$TARGETPLATFORM nginx ăăăăžăă ă§ăŻăăăŽăżăźă˛ăăăăŠăăăăŠăźă ăŻăŠăăăćĽăŚăăăŽă§ăăăă? ä¸é¨ăčŚăă¨ăĺŽéăŤăŻăăŤăăłăăłăăĺŽčĄăăŚăăăłăăłăăŠă¤ăłă§ćĺŽăăŚăăăă¨ăăăăăžăă âplatform=linux/amd64,linux/arm64ă¨čĄ¨ç¤şăăăžăă ăăăŻăĺłĺ´ăŤčŚăăăăăăŤăăăŽćçľăšăăźă¸ăŽ2ă¤ăŽç°ăŞăăăźă¸ă§ăłăä˝ćăăăă¨ăćĺłăăžăă ăăŤăăŻăç§ăăĄăć§çŻăăŚăăăă¤ăăŁă ă˘ăźăăăŻăăŁăŤĺşăĽăăŚăăžăăăăăĄă¤ăăŤăŤăŻăăăŽçšĺŽăŽă¤ăĄăźă¸ăŽAMD 64 ăăźă¸ă§ăłă¨ARM 64 ăăźă¸ă§ăłăŽä¸ĄćšăĺŤăžăăžăă ăăăăĺŽéăŤăăŤăă˘ăźăăăŻăăŁăăŤăăčĄăćšćłă§ăă ăăŚăéčŚăŞăŽăŻăç§ăăă¤ăăŁăă˘ăźăăăŻăăŁă§ăŻăŞăă˘ăźăăăŻăăŁăŽăăăŤć§çŻăăŚăăĺ ´ĺăăăăĺŽçžăăăăăŤăŻă¨ăăĽăŹăźăăăĺż čŚăăăă¨ăăăă¨ă§ăă ă¤ăžăăăăŤăăŤćéăăăăăăăŤăăŽĺŚçćéăéˇăăŞăăžăă ăăăăăăăĺéżăăćšćłăŻăăăžăă Docker Build CloudăŽăăăŞăăŽă使ç¨ăăă¨ăARMă¨AMDăŽä¸ĄćšăŽ 64 ăăŤăăăŻăŠăŚăç°ĺ˘ă§ăă¤ăăŁăăŤĺŽčĄă§ăăžăă ăăăŤă¤ăăŚăŻăĺžă§ăăĺ°ă芳ăă誏ćăăžăă
ăăŤă ăă§ăăŻăŻăçžćçšă§ăăŤăăźăŤćčźăăăŚăăć°ćŠč˝ăŽ 1 ă¤ă§ăă ăăŤăăă§ăăŻăčĄăŁăŚăăăă¨ăŻăĺşćŹçăŤăDockerfileă§čľˇăăŁăŚăăĺŻč˝ć§ăŽăăăă¨ăŤé˘ăăć ĺ ąăćäžăăăă¨ă§ăă ćŁăăĺŽčĄăăăŚăăăăăŤčŚăăDockerfileăăăĺ ´ĺă§ăăăăŽä¸ăŤćŁăăăŞăăăŽăăăă注ćăăĺż čŚăăăăăăăăžăăă ăăăŤăăăăăšăăăŠăŻăăŁăšă¨ăă§ăăŻăăăăłDockerfileă§ä˝ăăăŚăăăŽăăçĽăăă¨ăă§ăăžăă ăăŽĺ é¨ă§ăăăăŽĺéĄăč§ŁćąşăăćšćłăŤé˘ăăčŚĺă¨ăŹă¤ăăłăšăŽăŞăšăă襨示ăăăžăă ăăăŻăăăŤăăčĄăŁăŚăăă¨ăăăžăăŻăăšăŻăăăăŽăăŤăăăĽăźă§ç˘şčŞă§ăăžăăăăăăŤă¤ăăŚăŻ1ç§ă§ăăăŤćťăăžăă
Docker Desktop GUI ăăŤăăăĽăź (29:44)
ăăŽăăăćčżăDocker Desktop GUIĺ ăŤăăŤăăăĽăźăčż˝ĺ ăăžăăă ăăŽăăŤă ăăĽăźă§ăŻăĺŽčĄăăŚăăăăŤăăŤé˘ăăĺ¤ăăŽć ĺ ąăćäžăăăžăă ăăŤăćéăăăŁăăˇăĽăŽä˝żç¨çśćłăäžĺé˘äżăăăŤă ă˝ăźăšăDockerfileăăăŤă ăă°ăăăăłă¤ăĄăźă¸ăă¨ăŽĺąĽć´ăŤé˘ăăć ĺ ąăćäžăăžăă ăăăčŚăŚăăăăăŠăŽăăăŞăăŽăčŚăŚăżăžăăăă ăăăç§ăŽDockerăăšăŻăăăGUIă§ăă ăăŤăăŤç§ťĺăăă¨ăăăžăăžăŞă¤ăĄăźă¸ăăšăŚăŽăăŤăă襨示ăăăžăă ăăŁăăˇăĽăăăšăŚăŽĺŚçăčĄăăĺŽéăŤçťĺăĺçćăăă ăă§ć¸ăăăăăăăăŽăăă¤ăăŻé常ăŤćéăăăăăŞăăŁăăă¨ăăăăăžăă ăăăăŽăăă¤ăăŻéˇăćéă§ăăăăăăăŤé˘ăăć ĺ ąăĺžăăă¨ăă§ăăžăă äžăă°ăăăăšăăŞăłă°ăăăăŻăŞăăăŻăŤćĽăă¨ăăăŤăăă§ăăŻă§ăŻăăăŤăăă¤ăăŽčŚĺăăăă¨ĺŽéăŤç˘şčŞă§ăăžăă ă ăăăç§ăŻăăăăŽçšĺŽăŽčŚĺăăă§ăăŻăăŤčĄăăă¨ăă§ăăžăă ăăăŤăăăăăŤăćéăŤé˘ăăć ĺ ąăĺžăăăžăă ă§ăăăăĺŽéăŤä˝ăăŽăŤăŠăăăăăŽćéăăăăŁăăăăăăăžăă ăăŽçšĺŽăŽćéĺ ăŤăăŁăăˇăĽăĺŽéăŤăŠăă ă使ç¨ăăăăă確čŞă§ăăăăă§ăäžĺé˘äżă確čŞă§ăăžăă ăăăăŁăŚăăăŽçšĺŽăŽäžĺé˘äżĺ ăŤăăĺŽéăŤăŻč¤ć°ăŽç°ăŞăäžĺé˘äżăăăăă¨ăăăăăžăă ă˝ăźăšăŤćĽăă¨ăăăŽDockerfileăŽĺŽéăŽă˝ăźăšăăĄă¤ăŤăĺĺžăăžăă ăăăŚăăăă§FROMă¨ASăç°ăŞăăă¨ăŤă¤ăăŚăŽčŚĺăŽăăă¤ăăčŚăăă¨ăă§ăăžăă çš°ăčżăăŤăŞăăžăăăăăăăŻĺż ăăăă¨ăŠăźăĺźă辡ăăăăŽă§ăŻăăăžăăăăDockerfileăĺŽčĄăăă¨ăăŤćł¨ćăăăăă¨ă§ăă çšĺŽăŽDockerfileăŤé˘ăăăăšăŚăŽć ĺ ąă確čŞă§ăăžăă 揥ăŤăăă°ăŤç§ťĺăăă¨ăăăŽĺăšăăăăŽĺă ăŽăă°ă ăă§ăŞăăä¸é¨ă§ć°äťăăĺ ´ĺăăăăăšăŻăăźăŤăăŚăăă¨ăăŻăăăăĺŚçăăŚăăă¨ăăŤăĺ°ăăŞçˇăç§ťĺăăăăŤăăăŠăŽăăăŤé˛čĄăăŚăăăă示ăăŚăăžăă ăăăçľé¨ăăŚăăă¨ăăç§ăŻĺŽéăŤăăŤăăăăťăšăŽăŠăăŤăăăăčŚăăă¨ăă§ăăžăă ăăăŻăçšăŤéˇăJavaăăŤăă§ăă ăăŽä¸ă§čŚăăŽăŻĺ°ăéŁăăă§ăăăăăăăŽçšĺŽăŽăăŤăăç§ťĺăăŚăăă¨ăăŤăĺŽéăŤăŻăăŽĺ°ăăŞçˇăĺăăăŚăăžăă ăăŽĺžăć´ĺ˛ăćŻăčżăă¨ăç§ăć§çŻăăŚăăçšĺŽăŽă¤ăĄăźă¸ăŤă¤ăăŚăć§çŻăŤăŠăăăăăŽćéăăăăŁăăăĺŽéăŤăăăăžăă ăŠăŽăăăăŽćéăçľăĄăžăăă? ăăăăŽăăăăăŤăăă¤ăŽăăŤăăšăăăăăăăžăăă? ăžăăăăăăŽăšăăăăŽăăĄăăăŁăăˇăĽăăăăšăăăăŻăăă¤ăăăžăă? ă ăăăăăŽçšĺŽăŽă¤ăĄăźă¸ăĺŽéăŤć§çŻăăŚăăăăĄăŤăćéăçľă¤ăŤă¤ăăŚčŻăăŞăŁăŚăăăŽăăćŞăăŞăŁăŚăăăŽăăčŚăăŚăăžăă ăăăŚăăăăăŽäťĽĺăŽăăŤăăŤă¤ăăŚăăăĺ¤ăăŽć ĺ ąăĺĺžăăăăăä˝ă§ăăăă確čŞă§ăăžăă ăăă§ăăăăăŽăăŤăăźăŽăăă¤ăăŻăăăŠăŤăăŽăăšăŻăăăăăŤăăźăŤăăăŞăăă¨ăŤćł¨ćăăŚăă ăăă ăăăŤăŻăŻăŠăŚăăăŤăăźăăăăžăă
ăăăŻăDocker Build Cloud ăŽćŠč˝ă§ăă ăăăŚăăăă§ç§ăŽăăźăŤăŤăăŤăăăťăź3ĺă2ĺ 45 ç§ăă3ĺă ăŁăăă¨ăŤć°ăĽăăžăăă ăăăŚăăăă 1ăăăžăă:ăŻăŠăŚăăăŤăăźăŽ23 ă ăŻăŠăŚăăăŤăăźăŻăăăŤăăéŤéĺăăăă¤ăăŁăç°ĺ˘ă§ç´ćĽARMăăăłAMDăŽăăŤăăĺŽčĄă§ăăăăăŤăŞăăăăă¨ăăĽăŹăźăˇă§ăłăŤă¤ăăŚĺżé ăăĺż čŚăăŞă 64 ăĄăŞăăă§ăă
ă㎠Docker Image Deep Dive and Build Best Practices ăăŹăźăłăăźăˇă§ăłăă漽ăăżăăă ăăă§ăăăăă ăăăŤčŠłăăć ĺ ąăĺż čŚăŞĺ ´ĺăŻăăăŤăăŤé˘ăăć ĺ ąăăăăăăăăžăă ăăăăŻç§ăăĄăŽăăŤăăăăĽă˘ăŤă¨ç§ăăĄăŽăăăĽăĄăłăăŤăăăžăă ăă˛čśłăéăă§ăżăŚăă ăăă ăŠăăăăăă¨ăăăăăžăă
Â
ăăăŤčŠłăă
- 芳細ăŤă¤ăăŚăŻă Docker ăăŤă ăăăĽă˘ăŤ ăĺç §ăăŚăă ăăă
- ăăăŤăźăŻĺăăŚă§ăă? ĺ§ăăžăăăă
- 注çŽăŽăŹă¤ăă§Docker製ĺă桹ăćăä¸ăăžăă
- Docker Newsletter ăčłźčŞăăŚăă ăăă
- Docker ăăšăŻăăăăŽćć°ăŞăŞăźăšăĺ Ľćăăžăă
- 質ĺăăăăžăă? Docker ăłăăĽăăăŁăăćäźăăăžăă