แแแ แแแแ, แแแขแแ แ แแแแ แแ. แฒ แ แแแฎแแ แแแ แแแขแ แคแแฅแขแแ แแก แแแแแแแชแแ ?
แแแ แขแแแ แกแแขแงแแแแแ, แแก แแแแฃแแแแขแ แจแแฅแแแแแแ SaaS แแแแแแแชแแแแแก แแแแแแแแ แแแแก แแแกแแแแ แขแแแแแแแ, แแฎแแแ แแแ แแแแแแแแแ แแแแกแ แแ DevOps แแแแแแ แแแแก แแแคแแ แแแ แแแแก แแ แแ แแแแแแแแแกแ แแ แแ แแฅแขแแแแก แจแแกแแฎแแ, แ แแแแแแแช แงแแแแแแ แฎแจแแ แแ แแแฎแแแแแ แแแแแแแแ แแแ แแแแแแแชแแแแแก แจแแแฃแจแแแแแแกแแก.
แแแแฃแแแแขแ แจแแฅแแแแก Heroku แแแแขแคแแ แแแก แแแแแแแแแ แแแแ.
แแแ แแแขแคแแฅแขแแ แแแแ แแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแ แแแ แแแแ แแแแก แแแแแกแแแแ แแแแแ แแแฌแแ แแ แแแแแแแชแแแแแ แแ แแแแฎแแแ แ แกแแ แแแกแแแแก แแแแแกแแแแ แ แแแแแแแแชแแแก แแแแแงแแแแแแ (แแแแแชแแแแ แแแแแแ, แจแแขแงแแแแแแแแแแก แ แแแแแ, แฅแแจแ แแ แ.แจ.).
แแแแแแ แคแแฅแขแแ แแแแก แจแแกแแฎแแ, แ แแแแแแแแช แแแคแฃแซแแแแฃแแแ แแก แแแแแแแแแแแ:
- Codebase โ แแ แแ แแแแแก แแแแ, แ แแแแแแช แแแแแงแฃแ แก แแแแแแแแก แแแ แกแแแก แแแแขแ แแแก โ แแ แแแแแฏแแ แแแ แแแแแแแแแ
- แแแแแแแแแแฃแแแแแแ - แแแแคแแแ แแแแแแชแฎแแแแ แแ แแแแแแ แแแฃแแ แแแแแแแแแแฃแแแแแแ
- แแแแคแแแฃแ แแชแแ - แจแแแแแฎแแ แแแแคแแแฃแ แแชแแ แแแจแแแแแก แแ แแก
- แกแแ แแแแ แแ แกแแ แแแกแแแ โ แแแแแฎแแแแ แแแแฎแแแ แ แกแแ แแแกแแแ, แ แแแแ แช แแแแแแแขแแก แ แแกแฃแ แกแแแ
- แแจแแแแแ, แแแแแแแกแฃแคแแแแ, แแแจแแแแ โ แแแแชแ แแ แแแแแงแแแแ แจแแแ แแแแก แแ แจแแกแ แฃแแแแแก แแขแแแแแ
- ะัะพัะตััั โ แแแฃแจแแแ แแแแแแแชแแ, แ แแแแ แช แแ แแ แแ แแแขแ แแแฅแแแแฅแแแแแก แแ แแฅแแแ แแ แแชแแกแ
- แแแ แขแแก แจแแแแ แ โ แกแแ แแแกแแแแก แแฅแกแแแ แขแ แแแ แขแแก แกแแแแแแแแฃแแ แกแแจแฃแแแแแแ
- แแแ แแแแแแแแ - แแแแคแแ แแแแแ แแฅแแแแ แแแแแชแฎแแแ แแ แแชแแกแแแแก แแแแแงแแแแแแ
- แแ แแฏแแ แแแแแ - แแแฅแกแแแแแฃแ แแ แแแแแ แแแ แกแแแแแแแแแ แกแฌแ แแคแ แแแจแแแแแ แแ แกแฃแคแแ แแแแแ แแแแ
- แแแแแแแชแแแก แจแแแฃแจแแแแแ/แแแแ แแชแแฃแแ แแแ แแขแแขแ - แจแแแแแฎแแ แแฅแแแแ แแแแแแแแ แแแแก, แแแแแแแก แแ แฌแแ แแแแแแก แแแ แแแ แ แแช แจแแแซแแแแ แแกแแแแกแ
- แฎแ-แขแงแ - แแฎแแแแ แแฃแ แแแแ, แ แแแแ แช แแแแแแแแแแก แแแแแแ
- แแแแแแแกแขแ แแชแแแก แแแแชแแแแแ โ แแแแแแแกแขแ แแชแแฃแแ/แแแ แแแแก แแแแชแแแแแแก แจแแกแ แฃแแแแ ad hoc แแ แแชแแกแแแแก แแแแแงแแแแแแ
แจแแแแซแแแแ แแแแฆแแ แแแขแ แแแคแแ แแแชแแ 12 แคแแฅแขแแ แแก แจแแกแแฎแแ แจแแแแแแ แ แแกแฃแ แกแแแแแแ:
-
แแคแแชแแแแฃแ แ แฌแงแแ แ - แแฃแชแแแแแแแ แฌแแกแแแแแฎแ -
แกแขแแขแแ แฐแแแ . แแแ แแแขแ แคแแฅแขแแ แแก แแแแแแแชแแ - แแคแแชแแแแฃแ แ แแแ แแแแแ -
แกแขแแขแแ แฐแแแ . 7 แแแแแ แแฃแแ แคแแฅแขแแ แ 12 แคแแฅแขแแ แแก แแแแแแแชแแแจแ - แแฎแแแ แแแแแแแแแ แแแ 12 แคแแฅแขแแ แแ แแแแ แแแฃแแฏแแแแกแแแแก แแแแแแ.
แ แ แแ แแก แแฃแ แฏแ-แแฌแแแแ แแแแแแแแแ?
แแฃแ แฏแ-แแฌแแแแ แแแแแแแแแ แแ แแก แแแแแชแฎแแแแก แแแฌแแแแแแก แแแแแแ แฌแแ แแแแแแก แแกแ, แ แแ แกแแแแแแ แแแแแแขแ แแแ แฎแแแแแก แ แแแแ แชแแแแแแแแก แแแกแ แแฎแ แแแแ. แกแฎแแ แกแแขแงแแแแแ แ แแ แแแฅแแแ, แแแแแแแชแแแก แแแแแแแแแ แแฃแแแ downtime.
แแแแกแแแฃแ แ BG Deploy แกแฅแแแ แฐแแแแก แฅแแแแแ แแแชแแแฃแ แกแฃแ แแแแ แแแฉแแแแแแ.
- แแแกแแฌแงแแกแจแ แแ แแก 2 แคแแแแแฃแ แ แกแแ แแแ แ แแแกแแแฃแขแฃแ แแ แแแแแ แแแแแ, แแแแแแแชแแแ, แแ แแแฅแขแแ แแ แแ แแก แ แแฃแขแแ แ (แแแแแแกแแ แ).
- แ แแฃแขแแ แ แแแแแแแแ แแแแแ แแแแแ แแแแก แงแแแแ แแแแฎแแแแแก แแ แ-แแ แ แกแแ แแแ แแ (แแฌแแแแ).
- แแ แแแแแแขแจแ, แ แแแแกแแช แแฅแแแ แแญแแ แแแแแ แฎแแแแฎแแ แแแแแจแแแแ, แแแแแ แแ แแแฅแขแ แแแแแฎแแแแแ แกแฎแแ แกแแ แแแ แแ (ะกะธะฝะธะน), แ แแแแแแช แแแแแแแ แแ แชแแ แ แแแแฎแแแแแก แแ แแแฃแจแแแแแก.
- แแแแแก แฉแแ แแแแก แจแแแแแ แแฃแ แฏแ แกแแ แแแ แ แแแแแแแแ แแแแแฎแแแแฃแแแ, แ แแฃแขแแ แก แแซแแแแ แแแแแ แแแแก แแ แซแแแแแ แแฌแแแแ on ะกะธะฝะธะน แกแแ แแแ แ.
- แแฎแแ แงแแแแ แแแแแแขแ แฎแแแแแก แแแแแก แแแจแแแแแก แจแแแแแก แแฃแ แฏแ แกแแ แแแ แ.
- แแแ แแแแฃแแ แแแ แแแแแก แแแแแแแแแแแจแ, แแฌแแแแ แกแแ แแแ แ แแแกแแฎแฃแ แแแ แ แแแแ แช แกแแ แแแแ แแ แแกแแก แฌแแ แฃแแแขแแแแแ แแแแแแแแแแก แจแแแแฎแแแแแจแ ะกะธะฝะธะน แกแแ แแแ แแ แแ แแแ แชแฎแแกแ แแ แจแแชแแแแแแแก แจแแแแฎแแแแแจแ, แ แแฃแขแแ แ แแแ แฃแแแแก แแแแฎแแแ แแแแแก แแแแแแก แแฌแแแแ แกแแ แแแ แ แซแแแแ แกแขแแแแแฃแ แ แแแ แกแแแ แแ แแฎแแแ แแแแ แแแแแแแแแ แแแแแกแแแฏแแแกแ แแ แขแแกแขแแ แแแแกแแแแก.
- แแ แแ แแชแแกแแก แแแแแก, แแแ แแแแแฎแแแแแ แแแแแ แแแแ แแฌแแแแ แกแแ แแแ แ. แแ แแแแแฎแแแแแก แจแแแแแ, แ แแฃแขแแ แ แชแแแแก แแแแฎแแแแแก แแแแแแก แฃแแแ แแฌแแแแ แกแแ แแแ แ.
แแก แงแแแแแคแแ แ แซแแแแแ แแแ แแแ แแแแแแงแฃแ แแแ แแ แแ แแ แจแแฎแแแแแ แแแก แแ แแแแแ แ แแ แแแแแแ แแ แฃแแแ แฐแฅแแแแแก.
แแแแ แแ แ แแแแแ แฉแแแ แแชแฎแแแ แแแ แแแแแแแแ แแแ แกแแแงแแ แแจแ, แคแแแแแฃแ แ แแแแแ แแแแก แแแ แแแแขแ, แ แแแแ แช แแก แแแแแแแแฃแแแ แแแแกแแแฃแ แกแฅแแแแจแ, แแ แฏแแแแ. แฉแแฌแแ แแ แแแคแแ แแแชแแ แแ แแ แแแกแแแแก, แฉแแแ แแแก แแแแแแแแแแแ แแแแฃแแ แฃแแแแแแ.
แชแฃแแ แแ แแแ แแ แ แฉแแแ
แแแกแฃแฎแแกแแแแแแแแแก แจแแแฆแฃแแแแก แแแแแชแฎแแแ: แฅแแแแแ แแแงแแแแแแ แแแแแแแแแแ แแฉแแแแแแก แฃแขแแแแขแแแก/แแแแแแแแแแแแก, แ แแแแแแกแแช แแ แแแงแแแแ, แแฅแแแ แจแแแแซแแแแ แแแแแแงแแแแ แแแกแแแฃแขแฃแ แแ แแแแแกแแแแ แ แแแขแแ แแแขแแแ แแกแแแแกแ แคแฃแแฅแชแแแแแ.
แแแแแแแแแแแก แฃแแแขแแกแแแ แแแ แแฃ แแ แแแแ แแแแแแแแแแแแ แแแ-แแแแแแแแ แแแแกแแแ (แแก แกแแฃแ แแ แแแแ), PHP-แแแ แแ Docker-แแแ.
แฅแแแแแ แแแชแแแฃแแ แแแแแชแแแ แแแแแแแแแ แคแแฅแขแแ แแแแก แแแแแงแแแแแแก แแแ แขแแ แแ แแฅแขแแแฃแ แแฆแฌแแ แแก แแแแแ แแขแฃแแ แแแแแแแแแแแก แแแแแงแแแแแแ; แแฃ แแกแฃแ แ แแแแฆแแ แแแขแ แแแแ แแ แแ แแแแแแ, แแแฐแงแแแแ แแแแแ แแแชแแแฃแ แแแฃแแแแก แแ แแแแแแแฃแ แฌแงแแ แแกแแแ.
1. Codebase
แแแแแแงแแแแ FTP แแ FileZilla แคแแแแแแแก แกแแ แแแ แแแแ แแ แแแ แแฃแแแ แแกแแขแแแ แแแ, แแ แจแแแแแฎแแ แแแแ แกแฎแแ แแแแแแแก, แแแ แแ แฌแแ แแแแแแก แกแแ แแแ แแ.
แแ แแแฅแขแก แงแแแแแแแแก แฃแแแ แฐแฅแแแแแก แแ แแ แแแแแก แแแแ, แแแฃ แงแแแแ แแแแ แแ แแแแแ แแแแแก แฌแแกแแแ แกแแชแแแ. แกแแ แแแ แแแ (แฌแแ แแแแแ, แแแแแแ, แขแแกแขแ1, แขแแกแขแ2...) แแงแแแแแแ แแแแก แแ แแ แกแแแ แแ แกแแชแแแแก แคแแแแแแแแแแแ. แแ แแแแ แฉแแแ แแแแแฆแฌแแแ แแแแแก แแแแแแแแแแ แฃแแแแแก.
2. แแแแแแแแแแฃแแแแแแ
แฉแแแแขแแแ แแแ แงแแแแ แแแแแแแแแแ แกแแฅแแฆแแแแแแแจแ แแแ แแแแแ แแ แแแฅแขแแก แซแแ แจแ. แแแแแฎแแ แชแแแแแ แแแแแฎแแแแแแ แฃแแ แแแแ แแฎแแแ แแแแแก แแแแแแแแแแแก แแแแแแแแ แ แแแ แกแแแก แกแแฅแแฆแแแแแจแ แแแแแขแแแแ. แแแแแแกแขแแแแ แแ แงแแแแ แกแแญแแ แ แแแแฃแแแแฃแ แ แแ แแแ แแแ แแแ แแแแแ แแแกแแแแซแแ แกแแ แแแ แแ, แกแแแแช แแแแแ 20 แกแแ แแแกแ แแฃแจแแแแก.
แแ แแแฅแขแก แงแแแแแแแแก แฃแแแ แฐแฅแแแแแก แแแแแแแแแแฃแแแแแแแก แแจแแแ แแ แแแกแแแแแ แกแแ (แแแแแแแแแแฃแแแแแแจแ แแแฃแแแกแฎแแแ แแแ แแแแกแแช). แงแแแแ แแแแแแแแแแฃแแแแ แฃแแแ แแงแแก แแแแคแแแ แแแแกแแแฆแแ แฃแแ แแ แแแแแแ แแแฃแแ.
แแแแฆแแ แแแแแแแแแ แแแแแแแแแฅแขแแแแก ะธ docker.
แแแแแแแแแฅแขแแแแก โ แแแแแขแแก แแแแแฏแแ แ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแกแขแแแแ แแ แแแแแแแแแแแแ PHP-แจแ. แแแแแแแแขแแ แ แกแแจแฃแแแแแแก แแแซแแแแ แแแแชแ แแ แแ แแแแแกแฃแคแแแ แแแฃแแแแแ แแแ แกแแแแ แแ แแแแคแแแ แแแแกแแแฆแแ แแ แแกแแแ. แกแแ แแแ แแ แจแแแซแแแแ แแงแแก 20 แแแแกแฎแแแแแแฃแแ แแ แแแฅแขแ แแ แแแแแแฃแแก แแฅแแแแ แแแแแขแแแแกแ แแ แแแแแแแแแแแแแก แแแ แกแแแแแฃแ แ แกแแ แแแแ แแกแแแ แแแแแฃแแแแแแแแ.
docker โ แแ แแแ แแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแกแแแฆแแ แแ แแ แแแแแงแแ แแแ แแแ, แ แแแแแจแแช แแแแแแแชแแ แแแฃแจแแแแแก. แจแแกแแแแแแกแแ, แแกแแแ แ แแแแ แช แแแแแแแแขแแ แแแ, แแแแ แแ แฃแคแ แ แกแแคแฃแซแแแแแแแ, แจแแแแแซแแแ แแแแแกแแแฆแแ แแ, แแฃ แ แแกแแแ แแฃแจแแแแก แแแแแแแชแแ. แแแ แฉแแแ PHP-แแก แแแแแ แแขแฃแแ แแแ แกแแ, แแแแแแกแขแแแแ แแ แแฎแแแแ แแ แแแฅแขแแก แแฃแจแแแแแกแแแแก แกแแญแแ แ แแแแแขแแแ, แแแแแแขแ แแ แแคแ แแก แแแแแขแแแแก แแแ แแจแ. แแ แ แแช แแแแแแ แแ, แแแกแแแแซแแแ แแแแฅแแแแกแ แแ แกแฎแแ แแ แแแฅแขแแแแก แแแแแขแแแกแ แแ แแแ แแแแจแ แฉแแ แแแแก แแแ แแจแ. แแแฃ Docker-แแก แแแจแแแแแแ แแแจแแแแฃแ แกแแ แแแ แแ แงแแแแ แแ แแแฅแขแก แจแแฃแซแแแ แแแแแแงแแแแก แแแกแแแฃแขแฃแ แแ แแแแแกแแแแ แ แแแแแขแ แแ แกแ แฃแแแแ แแแแกแฎแแแแแแฃแแ แแแ แแแ.
3. แแแแคแแแฃแ แแชแแ
แจแแแแแฎแแ แแแแคแแแฃแ แแชแแแแ แแฃแแแแแแแแ แแแ แแแแแ แแแแจแ. แชแแแแ แแฃแแแแแแแ แกแแขแแกแขแ แกแแ แแแ แแกแแแแก, แชแแแแ แฌแแ แแแแแแกแแแแก. แแแแแแแจแแ แแ แแแแแแแชแแแก แแแฅแแแแแแ แแแ แแแแแแ แแแแแแแแแแ แ แฃแจแฃแแแแ แแ แแแฅแขแแก แแแแแแก แแแแแแแจแ if else แแแแกแขแ แฃแฅแชแแแแแก แแแแแงแแแแแแ.
แแแแคแแแฃแ แแชแแแแ - แแก แแ แแก แแ แแแแแ แแ แแแ, แ แแแแแแแช แแ แแแฅแขแแก แแแแแแแแแ แฃแแแ แแแแกแฎแแแแแแแแแแก. แแแแแแฃแ แจแแแแฎแแแแแจแ, แแแแคแแแฃแ แแชแแแแ แฃแแแ แแแแแ แแก แแแ แแแแก แชแแแแแแแจแ (env vars).
แแแฃ, แแแจแแแแช แแ, แแฃ แแฅแแแ แแแแฎแแแ แ แแแแแแแแ แแแแคแแแฃแ แแชแแแก แคแแแแก .config.prod .config.local แแ แแแแแแ แฅแแแแ แแแ แแแแแแแแแแก แแ แแก .config-แแ (แแแแแแ แ แแแแคแแแฃแ แแชแแ, แกแแแแแแแช แแแแแแแชแแ แแแแฎแฃแแแแก แแแแแชแแแแแก) - แแก แแ แแฅแแแแ แกแฌแแ แ แแแแแแแ, แ แแแแแ แแ แจแแแแฎแแแแแจแ แแแแคแแแฃแ แแชแแแแแแแ แแแคแแ แแแชแแ แกแแฏแแ แแ แแฅแแแแ แฎแแแแแกแแฌแแแแแ แแแแแแแชแแแก แงแแแแ แแแแแแแแแ แแกแแแแก แแ แกแแฌแแ แแแ แกแแ แแแ แแก แแแแแชแแแแแ แแแขแแฎแแแ แแฅแแแแ. แงแแแแ แแแแคแแแฃแ แแชแแ แฃแแแ แแงแแก แจแแแแฎแฃแแ แฃแจแฃแแแแ แแแแแแแแแแก แกแแกแขแแแแจแ (CI/CD) แแ แแแแแ แแ แแแฃแแ แแงแแก แกแฎแแแแแกแฎแแ แแแ แแแแกแแแแก, แแแแกแฎแแแแแแฃแแ แแแแจแแแแแแแแแแ, แ แแแแแแแช แแฃแชแแแแแแแแ แแแแแ แแขแฃแแ แแแ แแแแกแแแแก แแแแแแแแแแก แแ แแก.
4. แแแกแแแ แแฎแแ แแก แแแแกแแฎแฃแ แแแ
แแงแแแแ แแแแชแ แแ แแแแแฃแแ แแแ แแแแกแแแ, แแแแแแงแแแแ แกแฎแแแแแกแฎแแ แแแแจแแ แแแ แแแแแ แกแแ แแแกแแแแกแแแแก แแแ แแแแฃแ แแแ แแแแจแ.
แกแแแแแแแแแแจแ, แแก แแฃแแฅแขแ แแแแชแ แแ แแแแฎแแแแ แแแแคแแแฃแ แแชแแแก แกแแแแแฎแก, แ แแแแแ แแ แฌแแ แขแแแแก แแแ แแจแ, แแแ แแแแฃแ แ แแแแคแแแฃแ แแชแแแก แแแแแชแแแแแแก แแแแแแแแแ แจแแฃแซแแแแแแแ แแ, แแแแแแแ, แแแแคแแแฃแ แแชแแแก แจแแกแแซแแแแแแแ แแ แแคแ แแก แแแแขแแแ แแฅแแแแ.
แงแแแแ แแแแจแแ แ แแแ แ แกแแ แแแกแแแแแ, แ แแแแ แแชแแ แ แแแ แกแแ แแแ แแแ, แแแแแชแแแแ แแแแแแ, แฅแแจแแ แแแแก แกแแ แแแกแแแ, แฃแแแ แแงแแก แแแแแ แ แแแแ แช แแแแแแแแ แแแ แแแ แแแแกแแแแก, แแกแแแ แแแกแแแ แแฎแแ แแก/แฌแแ แแแแแแก แแแ แแแแกแแแแก. แกแฎแแ แกแแขแงแแแแแ แ แแ แแแฅแแแ, แแแแแกแแแแ แแ แแก, แแแแจแแ แแก แกแขแ แแฅแแแแก แจแแชแแแแ, แจแแแแซแแแ แจแแแชแแแแ แแแ แแแ #1 แแแแแแ แแแแแ #2 แแแแแแแชแแแก แแแแแก แจแแชแแแแก แแแ แแจแ. แแ, แแแแแแแแแ, แฌแแแกแแแแก แงแฃแ แแแ, แกแแ แแแกแแก แกแแแแแ แแแแกแแก, แแฅแแแ แแ แแแแแฌแแแ แแแแจแแ แแก แแแแแแแแ แ แแแแ แกแแแชแแแแฃแ แ แแแแ แแแแแขแแแแแ แฅแแจแ แกแแ แแแ แแกแแแแก.
5. แแจแแแแแ, แแแแแแแกแฃแคแแแแ, แจแแกแ แฃแแแแ
แกแแ แแแ แแ แแฅแแแแแ แแแแแก แแฎแแแแ แกแแแแแแ แแแ แกแแ, แแแแแจแแแแแก แฃแแแ แแแแ แฃแแแแแก แจแแแกแแก แแแ แแจแ. แแ แแ แแก แกแแญแแ แ แแแกแแแก แกแแแ แชแแก แจแแแกแแแ. แแแแช แคแแฅแ แแแก, แ แแ แจแแชแแแแแ แจแแฃแซแแแแ แแแแแก แฌแแ แแแแแแจแ แแแแแจแแแแ, แชแฃแแ แแ แแแ แแแแกแขแแ!
แแแแแแแแแแก แงแแแแ แแขแแแ แแ แแแแแแแแกแแแ แฃแแแ แแงแแก แแแแแงแแคแแแ.
แแฅแแแแแ แฃแแแ แแแแ แฃแแแแแก แจแแแกแ. แแแแแแแแ แ แแแแแแแ แแแแแแแชแแแก แซแแแแ แแกแแแแแ (แฃแแแ แแฌแงแแแแแ แแ แแ แซแแแแกแแแแก แแแแ) แจแแแแฎแฃแแ แกแฌแ แแคแ แฌแแแแแแ, แ แแแ แจแแชแแแแแก แจแแแแฎแแแแแจแ แจแแซแแแ แซแแแแ แแแ แกแแแก แแฆแแแแแ. แแแฃ แแแ แแแแแแ แแ แแก แกแแฅแแฆแแแแ แ แแแแแแแ แแ แกแแฅแแฆแแแแ แแแแแแแแ แแแ แฌแแ แแแขแแแฃแแ แแแแแแแแแแกแ แแ แกแแฅแแฆแแแแแก แแฌแงแแแแก แจแแแแแ แแแแแแแแ แ แแแแแแจแแ แแแฃแแแ แกแแแแแแฃแ แ แแแฃแแแ แแฎแแ แแแแแจแแแแแกแแแ, แ แแแแแแช แแแแก แจแแแแแ แ แแแแแแแ แแแแแจแแแแแก แแแแ แแก แฉแแแฃแแแแ แแแ แกแแฎแแแฌแแแแแแ.
แแก แแ แแก แแแแแแ, แกแแแแช แฉแแแ แแแแฎแกแแแก แแฃแ แฏแ-แแฌแแแแ แแแแแแแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแ แ แแฎแแแแ แแแแแฎแแแแแ แแแแแแก แจแแ แแก, แแ แแแแ แแแแแฎแแแแแ แงแแแแ แ แแกแฃแ แกแกแ แแ แแฃแแแแช แแแ แแแแก แจแแ แแก, แงแแแแแคแ แแก แฃแแแ แแแแแแ แฃแแแแแก แจแแกแแซแแแแแแแแ.
6. แแ แแชแแกแแแ
แจแแแแแฎแแ แแแแแชแฎแแแแก แแแแแแแ แแแแแก แแแแแชแแแแแ แฃแจแฃแแแแ แแแแแ แแแแแแแชแแแจแ. แแแแแแงแแแแ แกแแกแแแแ แแแแแ แแแแแแแชแแแก RAM-แจแ. แแแแแแงแแแแ แ แแช แจแแแซแแแแ แแแขแ แแแแแแ แแแ แแแกแแแ แแฎแแ แแก แกแแ แแแกแแแก แจแแ แแก. แแแแงแ แแแแแ แแ แคแแฅแขแก, แ แแ แแแแแแแชแแแก แจแแแซแแแแ แฐแฅแแแแแก แแฎแแแแ แแ แแ แแ แแชแแกแ แแ แแ แแแฃแจแแแก แกแแแแแ แแแ.
แ แแช แจแแแฎแแแ แกแแกแแแแก, แจแแแแแฎแแ แแแแแชแแแแแ แแฎแแแแ แฅแแจแจแ, แ แแแแแกแแช แแแแแขแ แแแแแก แแแกแแแ แแฎแแ แแก แกแแ แแแกแแแ (memcached, redis), แแกแ แ แแ, แแแจแแแแช แแ, แแฃ แแฅแแแ แแแฅแแ 20 แแแแแชแฎแแแแก แแ แแชแแกแ แแแจแแแแฃแแ, แแแแแกแแแแ แ แแแแแแแ, แฅแแจแแ แฌแแแแแแก แจแแแแแ, แจแแซแแแแก แแแแแ แซแแแแก แแแแแแขแแแ แแฃแจแแแแ แแแแแ แแแแแแแ แแแแ, แ แแแแแจแแช แแแแฎแแแ แแแแแ แแฃแจแแแแแ แแแแแแแชแแแกแแแ แกแฎแแ แแ แแชแแกแจแ. แแ แแแแแแแแ, แแแแแแแก, แ แแ แแ แแฅแแก แแแแจแแแแแแแ แ แแแแแ แแกแแก แแงแแแแแ แแแกแแแ แแฎแแ แแก แกแแ แแแกแแแก, แงแแแแแคแแ แ แแแฃแจแแแแแก แแแ แแแแฃแ แแ แแ แแแแแชแแแแ แฌแแแแแแกแแแ แแแแแแจแแ แแแฃแแ แแ แแแแแแแแแก แแแ แแจแ.
7. แแแ แขแแก แจแแแแ แ
แแฎแแแแ แแแ แกแแ แแแ แแ แฃแแแ แแชแแแแก แแแกแแแ แแฎแแ แแก แกแแ แแแกแแแแแ แแฃแจแแแแ. แแ แแแแแ แฃแแแแแกแ, แแแแแแกแขแแแแ แแ แแแกแแแ แแฎแแ แแก แกแแ แแแกแแแ แแแ แแแแแ แแแ แกแแ แแแ แแก แจแแแแแ. แแแแแแแแแ, แ แแแแ แช PHP แแแแฃแแ Apache-แจแ.
แงแแแแ แแฅแแแแ แกแแ แแแกแ แฃแแแ แแงแแก แแ แแแแแแแแแ แฌแแแแแ แ แแแแแแแ แแแกแแแแ แแกแ แแ แแแ แขแแ แฌแแแแแแก แแแแ (localgost:5432, localhost:3000, nginx:80, php-fpm:9000), แแแฃ nginx-แแแ แจแแแแซแแแ แฌแแแแแ แ แแแแ แช php-fpm, แแกแแแ postgres แแ php-fpm-แแแ postgres-แแแ แแ nginx-แแแ แแ แ แแแแฃแ แแ แแแแแแฃแแ แกแแ แแแกแแแแ แจแแแแซแแแ แกแฎแแ แกแแ แแแกแแ แฌแแแแแ. แแ แแแแ, แแแแกแแฎแฃแ แแแแก แกแแชแแชแฎแแแกแฃแแแ แแแแแแ แแ แแ แแก แแแแแฃแแ แกแฎแแ แกแแ แแแกแแก แกแแชแแชแฎแแแกแฃแแแ แแแแแแแกแแแ.
8. แแแ แแแแแแแแ
แแแฃแจแแแแ แแ แ แแ แแชแแกแแแ, แแแ แแ แ แแแแแแแแ แแ แแชแแกแ แแ แแแแแแแก แแแ แจแแแแฃแแแ!
แแแขแแแแ แแแแแแ แกแแแแแชแแแกแแแแก. Docker Swarm แจแแกแแแแจแแแแแ แแแแกแแแแก.
Docker Swarm แแ แแก แแแกแขแ แฃแแแแขแ แแแแขแแแแแ แแแแก แแแแกแขแแ แแแแก แจแแกแแฅแแแแแแ แแ แแแ แแแแกแแแแก, แ แแแแ แช แกแฎแแแแแกแฎแแ แแแแฅแแแแแก แจแแ แแก, แแกแแแ แแแแขแแแแแ แแแแก แแแแแฃแแก แจแแ แแก แแแแแ แแแแฅแแแแแ.
Swarm-แแก แแแแแงแแแแแแ แจแแแแซแแแ แแแแแกแแแฆแแ แ, แ แแแแแ แ แแกแฃแ แกแก แแแแแแงแแค แแแแแแฃแ แแ แแชแแกแก แแ แ แแแแแ แแ แแชแแกแก แแแแฃแจแแ แแแแแ แกแแ แแแกแแกแแแแก, แฎแแแ แจแแแ แแแแแแกแแ แ, แ แแแแแแช แแฆแแแก แแแแแชแแแแแก แแแชแแแฃแ แแแ แขแแ, แแแขแแแแขแฃแ แแ แแแแแกแชแแแก แแแก แแ แแชแแกแแแก. แแแ แแแแ, แ แแแแกแแช แแฎแแแแ, แ แแ แกแแ แแแ แแ แแแขแแแ แแแ แแแแแแ แแ, แจแแแแซแแแ แแแแแแแขแ แแแขแ แแ แแชแแกแแแ, แ แแแแช แจแแแแแชแแ แแ แแแขแแแ แแแแก แแแ แแแแฃแ แแ แแชแแกแแแแ.
9. แแ แแฏแแ แแแ แแแแแงแแแแแ
แแ แแแแแแงแแแแ แ แแแแแ แแ แแชแแกแแแแแ แแ แแแแแชแแแแแแแ แแฃแจแแแแแกแแแแก. แแ แแ แแ แแชแแกแแก แแแแแแ แฃแแแ แแแแฅแแแแแก แแแแ แแแแแแแชแแแแ. แแฃ แแ แแ แกแแ แแแกแ แแแแแแก, แงแแแแแคแแ แ แแแแแแก.
แแแแแแฃแแ แแ แแชแแกแ แแ แกแแ แแแกแ แจแแแซแแแแ แแแแแ แแแ แแแแแกแแแแ แแ แแก แแ แแก แแ แฃแแแ แแแแฅแแแแแก แกแฎแแ แกแแ แแแกแแแแ (แ แ แแฅแแ แฃแแแ, แแก แแ แแแจแแแแก, แ แแ แกแแ แแแกแ แแแฃแฌแแแแแแแแ แกแฎแแ แกแแ แแแกแแกแแแแก, แแแแ แแ แกแฎแแ แกแแ แแแกแ แแ แแแแแแ แแแแแ แแ แกแแ แแแกแแก แจแแแแแ). แงแแแแ แแ แแชแแกแ แฃแแแ แแแกแ แฃแแแแก แแแแแแกแแแแแกแแแ แแ, แ แแแ แแแแ แจแแฌแงแแแขแแกแแก แแแแแชแแแแแ แแ แแแแแแแแแก แแ แกแแกแขแแแแ แกแฌแแ แแ แแแฃแจแแแก แจแแแแแ แฏแแ แแ, แ แแชแ แฉแแ แแแแ. แแแฃ, แแแแแฃแแแแแแ แจแแฌแงแแแขแแก แจแแแแฎแแแแแจแแช แแ, แแแแแชแแแแแ แแ แฃแแแ แแแแแแแแแก (แแฅ แขแ แแแแแฅแชแแแก แแแฅแแแแแแ แจแแกแแคแแ แแกแแ, แแแแแชแแแแ แแแแแจแ แแแแฎแแแแแแ แแฃแจแแแแก แแฎแแแแ แฏแแฃแคแฃแ แแ แแ แแฃ แฏแแฃแคแแแแ แแ แแ แแแแฎแแแแ แแแแแช แแแ แแแฎแแ แฎแแ แแ แจแแกแ แฃแแแแฃแแแ แจแแชแแแแ, แแแจแแ แฏแแฃแคแแแแ แแ แชแแ แแ แกแฎแแ แแแแฎแแแแ แกแแแแแแแ แแแ แชแฎแแแแ).
10. แแแแแแแชแแแก แจแแแฃแจแแแแแ/แแแแ แแชแแฃแแ แแแ แแขแแขแ
แแแแแชแฎแแแแก แฌแแ แแแแแ, แแแแแแ แแ แแแแแแฃแ แ แแแ แกแแ แแแแกแฎแแแแแแฃแแ แฃแแแ แแงแแก. แฌแแ แแแแแแจแ แฉแแแ แแแงแแแแแ Yii Lite แฉแแ แฉแแก แแ แแแแแแแแ แแแแ Yii-แก, แ แแแ แแก แฃแคแ แ แกแฌแ แแคแแ แแฃแจแแแแแแก แฌแแ แแแแแแจแ!
แกแแแแแแแแแแจแ, แงแแแแ แแแแแแแแแ แแ แแแแแแ แแฃแจแแแแ แฃแแแ แแงแแก แแแแฅแแแก แแแแแขแฃแ แแแ แแแแจแ (แฉแแแ แแ แแกแแฃแแ แแแ แคแแแแแฃแ แแแแ แแขแฃแ แแแ). แแกแแแ, แแแแแแแแ แแแแก แแแแแกแแแแ แแแแแแจแ แแแแแก แฃแแแ แจแแแซแแแก แแแแแก แฌแแ แแแแแแจแ แแแแแแแแกแแแ แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ แแ แแ แ แกแแแชแแแแฃแ แแ แแแแแแแแแฃแแ แแแแแแแก แแแแงแแคแแแแแ, แ แแแแแกแแช แแฎแแแแ แกแแแชแแแแฃแ แ แกแแแขแแแชแแก แฌแงแแแแแแ แจแแฃแซแแแ แแแแแชแฎแแแแก แฌแแ แแแแแแจแ แแงแแแแ.
Docker แแกแแแ แแแแฎแแแ แแแ แแแแจแ. แแฃ แงแแแแ แฌแแแ แแฃแแฅแขแ แแแชแฃแแแ, แแแแแ แแก แแแแแงแแแแแ แแแแแแฌแแแแก แแแ แแแแก แแแแแแแแแแก แแ แแชแแกแก แ แแแแ แช แฌแแ แแแแแแแ, แแกแแแ แแแแแแแแ แแ แแแแฅแแแแแ แแ แแ แแ แแ แ แแ แซแแแแแแก แจแแงแแแแแแแ.
11. แแแ แแแ
แฉแแแ แแฌแแ แ แแฃแ แแแแแแก แคแแแแแแกแ แแ แแแแแชแแแแ แแแแแแแ! แฉแแแ แแ แแแกแฃแคแแแแแแ แคแแแแแแก แแ แแแแแชแแแแ แแแแแแก แแฃแ แแแแแแแแแ. แแแแแ แแแงแแแแ แแงแแ แ แแแกแแ 9000 แแแขแ แแแแขแแ แแ แแก แแแ แแแ.
แงแแแแ แแฃแ แแแแ แฃแแแ แฉแแแแแแแแก แแแแแแแแแแก แแแแแแแ. แแแแแ แแแแแแแชแแ แแ แฃแแแ แแงแแก แฉแแ แแฃแแ แแฃแ แแแแแแแก แแแแฃแจแแแแแแจแ. แแฃแ แแแแแแ แฃแแแ แแแแแแแแแก แแ stdout-แจแ แแ แแแแแแแแแแก แแ แแขแแแแแแ, แ แแแแ แแชแแ udp, แ แแแ แแฃแ แแแแแแแแ แแฃแจแแแแแ แแ แจแแฃแฅแแแแก แ แแแแ แแ แแแแแแ แแแแแแแชแแแก. แแ แแแแแแ แแแ แแแ แแแแกแแแแก. แแ แแแแแแ, แ แแแแแแช แแฆแแแก แงแแแแ แแฃแ แแแแก udp-แแก แกแแจแฃแแแแแแ (แแก แแ แแขแแแแแ แแ แกแแญแแ แแแแก แแแกแฃแฎแแก แแแแแแแแก แแแแแขแแก แฌแแ แแแขแแแแ แแแฆแแแแก แจแแกแแฎแแ) แแ แแแแแ แแ แแ แแ แแแ แแแแแแแชแแแก แแ แแฎแแแ แแฎแแแแ แแฃแ แแแแแแแก แกแขแ แฃแฅแขแฃแ แแ แแแแก แแ แแแแฃแจแแแแแแก. แแแแแแแชแแแก แแแแแแ แแ แแชแแแแแ แแกแแ แแแแแแแแแแแ แแฃแจแแแแแกแแก.
12. แแแแแแแกแขแ แแชแแแก แแแแชแแแแแ
แแแแแชแแแแแแก, แแแแแชแแแแ แแแแแแแก แแ แ.แจ. แแแแแฎแแแแแกแแแแก แแแแแแงแแแแ API-แจแ แชแแแแ แจแแฅแแแแแ แกแแแแแแ แฌแแ แขแแแ, แแแกแ แแแแแแแ 2-แฏแแ แจแแกแ แฃแแแแ แแแแแแฌแแแแก แงแแแแแคแ แแก แแฃแแแแ แแแแก. แแแแ แแ แแฅแแแ แกแฃแแแแ แแ แฎแแ แ, แแ แฏแแ แแ แแแแฌแแแแฃแแแแ แแ แฉแแแ แแ แแแญแแ แแแแ แแแแ แแชแแ.
แงแแแแ แแแแแแแกแขแ แแชแแฃแแ แแแแแแแแ แฃแแแ แจแแกแ แฃแแแแก แแแแแ แแแ แแแแจแ, แ แแแแ แช แงแแแแ แแแแ, แแแแแจแแแแแก แแแแแแ. แแแฃ, แแฃ แฉแแแ แแแญแแ แแแแ แแแแแชแแแแ แแแแแก แกแขแ แฃแฅแขแฃแ แแก แจแแชแแแ, แแแจแแ แแแแก แฎแแแแ แแ แแแแแแแแแแ แกแแแขแแแแก แกแแฎแแแแแแก แจแแชแแแแ แแ แแฎแแแก แแแแแขแแแแก แแแแ แแแแแชแแแแ แแแแแก แแแแฃแแแฃแ แ แแแ แแแแก แแแกแขแ แฃแแแแขแแแแก แกแแจแฃแแแแแแ. แแกแแแ แ แแแแแแแกแแแแก แแฅแแแแ แชแแแแแฃแ แกแแ แแแขแแแก - แแแแ แแชแแแก, แ แแแแแแแช แงแแแแแแ แแ แงแแแแ แแแ แแแแจแ แแ แแแแแ แแ แกแ แฃแแแแแ แกแแแ แแ แแ แแแกแแแแแ แจแแแแแแ. แงแแแแ แกแฎแแ แแแแชแแแแกแแแแก, แ แแแแ แแชแแ แแ แแแฅแขแแก แแแแแชแแแแแแ แจแแแกแแแ, แแกแแแแกแ แแแแแแแแแแแแแ แฃแแแ แแฅแแแก แแแแแงแแแแแฃแแ.
แแแแฎแแ แชแแแแแแแก แแแแแแแแ PHP, Laravel, Laradock, Docker-Compose-แจแ
P.S แงแแแแ แแแแแแแแ แแแแแแแ MacOS-แแ. แแแแ แฃแแแขแแกแแแ แแกแแแ แจแแกแแคแแ แแกแแ Linux-แแกแแแแก. แแแแแแฃแกแแก แแแแฎแแแ แแแแแแ, แแแแแขแแแ, แแแแ แแ แแแแแแฃแกแแ แแแแ แฎแแแแ แแ แแแฃแจแแแ.
แฌแแ แแแแแแแแแแ แกแแขแฃแแชแแ, แ แแแแกแแช PHP-แแก แแ แช แแ แแ แแแ แกแแ แแ แแแแฅแแก แแแแแกแขแแแแ แแแฃแแ แฉแแแแก แแแแแแฃแขแแ แแ แแ แกแแแ แแแ แแ แแคแแ แ.
แแแแแแกแขแแแแ แแ docker แแ docker-compose-แแก แฃแแฎแแแกแ แแแ แกแแแแ. (แแก แจแแแแซแแแแ แแฎแแแแ แแแขแแ แแแขแจแ)
docker -v &&
docker-compose -v
1. แแแแแแแแกแแ
git clone https://github.com/Laradock/laradock.git &&
ls
แแแ แแแแแแแ แแแแแแจแแ แแแแ แแแขแงแแ, แ แแ แซแแแแแ แแแแแ แ แ แแแแ, แ แแแแแแช แจแแแชแแแก แฃแแแ แแ แแแแขแแแแแ แก แแ แแแแฎแแแ แ แแแแแแแก. แแแแ แแ แแ แแ แแแ แฉแแแ Laradock-แแก แแแแแงแแแแแแก, แ แแแแ แช แแกแแแ, แฌแแ แแแแแแจแ แชแแแแแแแแแแก แแแ แแจแ, แแแกแ แกแแญแแ แแแก แแแแ. แฃแแฏแแแแกแแ แจแแฅแแแแ แกแแแฃแแแ แ แแแแขแแแแแ แแแ Laradock-แแก แแแแแแแแแแแ แแแงแ แแแแแแ, แแก แแแแ แแ แฃแคแ แ แแแขแแแแแแ แแแฃแแ แแฅแแแแ, แ แแแแแ แแ แแแแก แกแญแแ แแแแ แงแแแแแคแแ แ, แ แแช แแ แแแ แแฃแแแ แแ แแก.
2. แแแแแแแคแแแฃแ แแ แแ Laradock แฉแแแแ แแแแแแแชแแแก แแแกแแจแแแแแ.
cd laradock &&
cp env-example .env
2.1. แแแฎแกแแแแ habr แแแ แแฅแขแแ แแ (แแจแแแแแ แกแแฅแแฆแแแแ, แ แแแแแจแแช แแแแแแ แแแฃแแแ laradock) แแแแแแ แ แ แแแแฅแขแแ แจแ. (แฉแแแก PHPStorm แจแแแแฎแแแแแจแ)
แแ แแขแแแแ แฉแแแ แแฎแแแแ แแ แแแฅแขแก แแแซแแแแ แกแแฎแแแก.
2.2. แแแฃแจแแแ แกแแแฃแจแแ แกแแแ แชแแก แกแฃแ แแแ. (แแฅแแแแก แจแแแแฎแแแแแจแ, แกแฃแ แแแแแแก แจแแฅแแแแก แแแ แแแแฃแแ แแ แ แแแกแญแแ แแแแ)
Workspace แแ แแก แกแแแชแแแแฃแ แแ แแแแแแแแแฃแแ แกแฃแ แแแ แแแแแแแแแ แแก แกแแฎแแแแ แคแ แแแแแ แแแ แแฃแจแแแแแกแแแแก.
แฉแแแ แจแแแแแแแ แ แแแแขแแแแแ แจแ แแแแแงแแแแแแ
docker-compose up -d workspace &&
docker-compose exec workspace bash
2.3. แแแ แแแแแแก แแแกแขแแแแชแแ
composer create-project --prefer-dist laravel/laravel application
2.4. แแแกแขแแแแชแแแก แจแแแแแ, แฉแแแ แแแแแฌแแแแ แจแแฅแแแแแแ แแฃ แแ แ แแ แแแฅแขแแก แแแ แแฅแขแแ แแ แแ kill compose.
ls
exit
docker-compose down
2.5. แแแแแ แแแแฃแแ แฃแแแแ PHPStorm-แก แแ แแแแแงแแแแ แกแฌแแ แ แแแ แฉแแแแ laravel แแแแแชแฎแแแแกแแแ .env แคแแแแจแ.
3. แแแแแแขแแ แงแแแแ แแแแ Git-แจแ.
แแแแกแแแแแก แฉแแแ แจแแแฅแแแแ แกแแชแแแก Github-แแ (แแ แกแฎแแแแแ). แแแแแ แแแแแแแแแ แขแแ แแแแแแจแ habr แแแ แแฅแขแแ แแแจแ แแ แจแแแแกแ แฃแแแ แจแแแแแแ แแแแ.
echo "# habr-12factor" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:nzulfigarov/habr-12factor.git # ะทะดะตัั ะฑัะดะตั ัััะปะบะฐ ะฝะฐ ะฒะฐั ัะตะฟะพ
git push -u origin master
git status
แแแแแ แจแแแแแแฌแแแ แงแแแแแคแแ แ แ แแแแแ แแฃ แแ แ.
แแแฎแแ แฎแแแฃแแแแแกแแแแก, แแ แแแ แฉแแแ แแแแแแงแแแแ แแแแแแ แแ แแแแฃแแแฃแ แ แแแขแแ แคแแแกแ Git-แแกแแแแก, แฉแแแก แจแแแแฎแแแแแจแ แแก แแกแแ
4. แแแแแฌแงแแ!
แแแฌแงแแแแแแ แแแ แฌแแฃแแแแ, แ แแ แแ แแคแแ แ แแ แแ แแก แฉแแแแแแแแแฃแแ 80 แแ 443 แแแ แขแแแแ.
docker-compose up -d nginx php-fpm
แแแ แแแแ, แฉแแแแ แแ แแแฅแขแ แจแแแแแแ 3 แชแแแแแฃแแ แกแแ แแแกแแกแแแ:
- nginx - แแแ แกแแ แแแ แ
- php-fpm - php แแแ แกแแ แแแ แแแแ แแแแฎแแแแแก แแแกแแฆแแแแ
- แกแแแฃแจแแ แแแแแแ - php แแแแแแแแแ แแแแกแแแแก
แแ แแ แแแกแแแแก แฉแแแ แแแแแฆแฌแแแ แแแแก, แ แแ แจแแแฅแแแแแ แแแแแแแชแแ, แ แแแแแแช แแแแแงแแคแแแแแก 4 แฅแฃแแแก 12-แแแ, แแแ แซแแ:
1. Codebase โ แงแแแแ แแแแ แแ แ แกแแชแแแจแแ (แแแขแแ แ แจแแแแจแแแ: แจแแแซแแแแ แกแฌแแ แ แแงแแก แแแแแ แแก แแแแแขแแแ แแแ แแแแแแก แแ แแแฅแขแจแ, แแแแ แแ แแก แแ แแ แแก แแแแจแแแแแแแแแ).
2. แแแแแแแแแแฃแแแแแแ - แงแแแแ แฉแแแแ แแแแแแแแแแฃแแแแ แชแแแกแแฎแแ แแ แแก แแแฌแแ แแแ application/composer.json-แจแ แแ แแแแแแฃแแ แแแแขแแแแแ แแก แแแแแแฃแ Dockerfile-แจแ.
3. แกแแ แแแแ แแ แกแแ แแแกแแแ โ แแแแแแฃแแ แกแแ แแแกแ (php-fom, nigx, แกแแแฃแจแแ แกแแแ แชแ) แแแแแกแ แชแฎแแแ แแแแ แชแฎแแแ แแแก แแ แแแแแแจแแ แแแฃแแแ แแแ แแแแ แแ แแ แ แกแแ แแแกแแแ แแฃแจแแแแแกแแก แแแแ แแแ แแ แแแแฅแแแแแแก.
4. ะัะพัะตััั โ แแแแแแฃแแ แกแแ แแแกแ แแ แแ แแ แแชแแกแแ. แแแแแแฃแแ แกแแ แแแกแ แแ แแแแ แฉแฃแแแแก แจแแแ แแแแแแแ แแแแแก.
5. แแแ แขแแก แจแแแแ แ
docker ps
แ แแแแ แช แแฎแแแแแ, แแแแแแฃแแ แกแแ แแแกแ แแฃแจแแแแก แกแแแฃแแแ แแแ แขแแ แแ แฎแแแแแกแแฌแแแแแแ แงแแแแ แกแฎแแ แกแแ แแแกแแกแแแแก.
6. แแแ แแแแแแแแ
Docker แกแแจแฃแแแแแแก แแแแซแแแแก แจแแแฅแแแแ แแ แแ แแ แแแแแ แกแแ แแแกแแแแก แแ แแแแแ แแ แแชแแกแ, แแแ แจแแ แแก แแแขแแแ แแแแก แแแขแแแแขแฃแ แ แแแแแแแแกแแแแ.
แแแแแฉแแ แแ แแแแขแแแแแ แแแ แแ แแแแแขแแ แแ แแ แแจแแแ -- แแแกแจแขแแแ
docker-compose down &&
docker-compose up -d --scale php-fpm=3 nginx php-fpm
แ แแแแ แช แแฎแแแแแ, แจแแแฅแแแ php-fpm แแแแขแแแแแ แแก แแกแแแแ. แแ แแแแขแแแแแ แแแ แแฃแจแแแแแกแแก แแ แแคแ แแก แจแแชแแแ แแ แแแญแแ แแแแ. แฉแแแ แแกแแแ แแแแ แซแแแแแ แแแกแแ แฌแแแแแแก 9000 แแแ แขแแ แแ Docker แแ แแแฃแแแ แแแก แแแขแแแ แแแแก แแแแขแแแแแ แแแก แจแแ แแก แฉแแแแแแแก.
7. แแ แแฏแแ แแแแแ - แแแแแแฃแแ แแแแขแแแแแ แแก แแแแแแ แจแแกแแซแแแแแแแ แแแแ แแก แแแแแแก แแแงแแแแแแก แแแ แแจแ. แแแแขแแแแแ แแก แจแแฉแแ แแแ แแ แแแแแขแแแ แแแ แแ แแแแฅแแแแแแก แแแแแแแชแแแก แแฃแจแแแแแแ แจแแแแแแแ แแแจแแแแแก แแ แแก. แแแแแแฃแแ แแแแขแแแแแ แแก แแฌแแแ แจแแกแแซแแแแแแแ แแแแแกแแแแ แแ แแก.
8. แแแแแแแชแแแก แจแแแฃแจแแแแแ/แแแแ แแชแแฃแแ แแแ แแขแแขแ - แฉแแแแ แงแแแแ แแแ แแแ แแ แแแแแ แแ. แฌแแ แแแแแแก แแ แแชแแกแจแ แกแแ แแแ แแ แกแแกแขแแแแก แแแจแแแแแ, แแฅแแแ แแ แแแแแฌแแแ แ แแแแแก แจแแชแแแ แแฅแแแแก แแ แซแแแแแแแจแ. แงแแแแแคแแ แ แแแแแแแแแ แแ แแฅแแแแ แแแคแฃแซแแแแฃแแ Docker-แแ.
9. แฎแ-แขแงแ โ แแ แแแแขแแแแแ แแแจแ แงแแแแ แแฃแ แแแแ แแแแแแแก แแแแแแจแ แแ แฉแแแก Docker แแแแกแแแจแ. (แแ แจแแแแฎแแแแแจแ, แคแแฅแขแแแ แแแแ, แกแฎแแ แฎแแแแแแแแ แแแแขแแแแแ แแแแก แจแแแแฎแแแแแจแ, แแก แจแแแซแแแแ แแ แแงแแก, แแฃ แแ แแแ แฃแแแแ แแแกแแ)
docker-compose logs -f
แแแแ แแ แแ แแก แแก, แ แแ แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแแแ PHP-แกแ แแ Nginx-แจแ แแกแแแ แฌแแ แก แแฃแ แแแแแแก แคแแแแจแ. 12 แคแแฅแขแแ แแก แแแกแแแแแงแแคแแแแแแแ แแฃแชแแแแแแแแ แแแแแ แแแ แแฃแ แแแแแก แฉแแฌแแ แ แคแแแแจแ แแแแแแฃแแ แแแแขแแแแแ แแก แแแแคแแแฃแ แแชแแแแจแ แชแแแแ.
Docker แแกแแแ แฃแแ แฃแแแแแงแแคแก แแแแแแแก แแแแแแแแแก แจแแกแแซแแแแแแแแก แแ แ แแฎแแแแ stdout-แจแ, แแ แแแแ แแกแแ แแแแแแแแ, แ แแแแ แแชแแ แแ แแแแแแ, แ แแแแแแช แแแแแ แแฆแแแแจแแ. แแ แแ แแแแแแแก แจแแแแแ, แฉแแแ แจแแแแแซแแแ แแแแฃแจแแแ แแฃแ แแแแแแ แแกแ, แ แแแแ แช แแแกแฃแ แก แแ แฉแแแแ แแแแแแแชแแ แแแแก แแแ แแแแแ แแ แแแ แจแแแแฉแแแแก.
10. แแแแแแแกแขแ แแชแแแก แแแแชแแแแแ โ แงแแแแ แแแแแแแกแขแ แแชแแฃแแ แแแแชแแแ แฌแงแแแขแก แแแ แแแแแก แฎแแแแกแแแ แฎแแแกแแฌแงแแก แฌแงแแแแแแ แแฃแกแขแแ แแกแ, แ แแแแ แช 12 แคแแฅแขแแ แแก แแแแแแแชแแแก แจแแแฅแแแแแแแก แกแฃแ แ.
แแแแแแแแแ, แแ แแแฉแแแแแแ, แแฃ แ แแแแ แกแ แฃแแแแแ แแแแแแ แแ แแ แซแแแแแ.
แฉแแแ แจแแแแแแแ แ แแแแขแแแแแ แจแ.
docker-compose exec workspace bash
php artisan list
แแฎแแ แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแแแแกแแแแ แ แแ แซแแแแแ. (แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แฉแแแ แแ แแแแแแแแคแแแฃแ แแ แแ แแแแแชแแแแ แแแแ แแ แฅแแจแ, แแแแขแแ แแ แซแแแแแแแแก แแแฎแแแแ แ แแ แจแแกแ แฃแแแแแ แกแฌแแ แแ, แ แแแแแ แแกแแแ แจแแฅแแแแแแ แฅแแจแแแ แแ แแแแแชแแแแ แแแแแกแแแ แแฃแจแแแแแกแแแแก).
11. แแแแคแแแฃแ แแชแแแแ แแ 12 แแจแแแแแ, แแแแแแแกแฃแคแแแแ, แแแจแแแแ
แแแแแแแ แแก แแแฌแแแ แแแแแซแฆแแแ Blue-Green Deployment-แแกแแแแก, แแแแ แแ แแฆแแแฉแแแ แซแแแแแ แแ แชแแแ แแ แกแขแแขแแแกแแแแก. แแแแก แจแแกแแฎแแ แชแแแแ แกแขแแขแแแก แแแแฌแแ .
แแแแแแ, แแแแชแแคแชแแ แแคแฃแซแแแแ CI/CD แกแแกแขแแแแแก, แ แแแแ แแชแแ Jenkins ะธ Gitlab CI. แแ แแแแจแ แจแแแแซแแแแ แแแแงแแแแ แแแ แแแแก แชแแแแแแแ, แ แแแแแแแช แแแแแแจแแ แแแฃแแแ แแแแแ แแขแฃแ แแแ แแแแกแแแ. แจแแกแแแแแแกแแ, แแ แกแแขแฃแแชแแแจแ แจแแกแ แฃแแแแแ แ แแฃแแฅแขแ แแแแคแแแฃแ แแชแแแแ.
แแ แฌแแ แขแแแ แแแแก แจแแกแแฎแแ แแจแแแแแ, แแแแแแแกแฃแคแแแแ, แแแจแแแแ แแแแแแ แแแฃแแแ แฉแแจแแแแแฃแแ แคแฃแแฅแชแแแแแ แกแแฎแแแแแ แแ แแแ แแแแกแแแแแแก.
แแแแกแแแแแแก แกแแจแฃแแแแแแก แแแซแแแแ แแแงแแ แแแแแแแแแแก แแ แแชแแกแ แแ แแแแ แแขแแแแ, แฎแแแแแกแแแ แแฆแแแแจแแแ แจแแแ แแแแก, แแแแแจแแแแแก แแ แจแแกแ แฃแแแแแก แแขแแแแแ. แแกแแแ Pipeline-แจแ แจแแแแซแแแแ แจแแฅแแแแ แกแแ แแแแ แแ แแกแแแแ แแ แแแ แแแแช แงแแแแแคแแ แ. แแก แแ แแก แฃแกแแแฆแแ แ แแแขแแแชแแแแแก แแฅแแแ แแแกแขแ แฃแแแแขแ.
แแแแแชแฎแแแแก แแแแ แแ แแก
แแ แแแแแแแฌแงแแแ แฅแแแแแแฃแแแก แแแแชแแแแแแแชแแ แแ แกแแชแแแแก แแแแแแ แแแแกแแก.
P.S.: แงแแแแ แแก แแแแแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแแกแแแแ แ แกแฎแแ แแแแฃแแแแฃแ แ แแ แแ แแแ แแแแ แแแแก แแแแ. แแแแแแ แ แแก แแ แแก, แ แแ แแ แกแ แแ แแแแกแฎแแแแแแแ.
แฌแงแแ แ: www.habr.com