แแ แแแแแแแแ แแแแฅแกแแแแ แ แกแแแแฉแแแแก แแแฎแกแแแแแแก แขแ แแแกแแ แแแขแแก แฌแแแแแฎแแแก Inventos-แแแ "แแแแแแแแ แแแ แแ แขแแกแขแแ แแแแก แแ แแชแแกแ Docker + Gitlab CI-แแ"
แแกแแแ, แแแแช แแฎแแแฎแแ แแฌแงแแแแ Docker + Gitlab CI-แแ แแแคแฃแซแแแแฃแแ แแแแแแแแ แแแแกแ แแ แขแแกแขแแ แแแแก แแ แแชแแกแแก แแแแฎแแ แชแแแแแแแก, แฎแจแแ แแ แกแแแแแ แซแแ แแแแ แแแแฎแแแแก. แกแแ แฃแแแ แแแแฌแงแแก? แ แแแแ แแแแแฌแงแแ แแ แแแแแแแแ? แ แแแแ แแแแแกแแแฏแแ?
แแก แแแแแ แแจแ แแแ แแแ, แ แแแแแ แแก แกแขแ แฃแฅแขแฃแ แแ แแแฃแแแ แกแแฃแแ แแแก แแแแแแแแ แแแแกแ แแ แขแแกแขแแ แแแแก แแ แแชแแกแแ Docker แแ Gitlab CI-แแก แแแแแงแแแแแแ. แแแแแ แแแแแ แแจแ 2017 แฌแแแกแแ. แแ แแคแแฅแ แแ, แ แแ แแ แแแแแ แแจแแแแ แจแแแแซแแแแ แแแแแแ แกแแคแฃแซแแแแแ, แแแแแแแแแแแ, แแแแ, แแแแแงแแแแแแก แแแแแชแแแแแแ.
แแแกแแช แแแแขแแ แแกแแแก, แแแฎแแแ, แแแขแแก แฅแแแจ.
แแ แแฅแแแ แแแแฅแกแแแแ แ แกแแแแฉแแแ. แแแฃแจแแแ Inventos-แจแ. แแ แแแแแงแแแแแ Docker-แแก แแแแแงแแแแแแก แฉแแแก แแแแแชแแแแแแแแ แแ แ แแแแ แแแฎแแ แชแแแแแแ แแแก แแขแแแแแ แแแแ แแแแแแแแแจแ แแ แกแแแฃแ แแ แแแฅแขแแแแ.
แแ แแแแแขแแชแแแก แแแแ: แแแแแแแแ แแแแก แแ แแชแแกแ Docker-แแกแ แแ Gitlab CI-แแก แแแแแงแแแแแแ.
แแก แฉแแแ แแแแ แ แกแแฃแแแ แแ แแแแแ แแ. แแแ แแแแ แแแฎแกแแแแแแก แแ แแก แฉแแแ แแแงแแแแแแแ Docker in Development-แจแ แแแแแแแแแ แแแแฅแแแแแแ. แแแแแแจแ แแแแแแแก แ แแแแแแแแ, แ แแแแแแแช แแงแแแแแแแแ Docker-แก, แแงแ แแแแฎแแแแแแ 2-3 แแแแแแแแ. แแแ-แแแแ แแแแแชแแแแแแ แแแแแแแ แแ แชแแขแ แฌแแ แแแแแแแแแ. แแแฃแแ แฉแแแแก
แ แ แแฅแแแแ แแ แแแแแ แแจแจแ? แฉแแแ แแแแแแแแ แแแ แแแแแชแแแแแแแก, แแฃ แ แ แกแแแแแแกแแ แแแแแแ แแแแ, แ แ แแ แแแแแแแแ แแแแแแแแ แแ. แงแแแแแแ แแ แแงแ แแแแแแ, แแแแ แแ แแแแแแแแแแแแแก แกแแจแฃแแแแแ แแแกแชแแก.
แฉแแแแ แแแแแแแ: แแแแแแแ แแ แงแแแแแคแแ แ, แ แแช แฎแแแ แแแแฅแแก.
แ แ แแ แแแแแแแแก แแแแแแ แแแ?
แ แแแแกแแช แแแแแแแแแจแ แ แแแแแแแแ แแฃแแแแ, แแ แแแ แแแแกแขแ แแ แแก แกแแแ แแ แ แแกแฃแ แกแ. แแ แแก แแขแแแแแ, แ แแแแกแแช แแ แแแ แแแแกแขแ แแแแแงแแแแแแแ แแ แแ แแ แแแฅแขแแแแ แแ แแแ แแแแฃแแ แแ แแแ แแซแแแแแ แแแแ แ แแ แแแฅแขแก.
แแแแกแแแแแก, แ แแ แแ แแแ แแแแกแขแแ แกแฌแ แแคแแ แแแแแแก, แแแ แฃแแแ แแแแแแฌแแ แแก แแ แแแฅแขแแก แฌแงแแ แแก แแแแ แแ แ แแช แจแแแซแแแแ แแแแ แแแฃแจแแแก แแแ แแแ, แ แแช แแแก แกแแจแฃแแแแแแก แแแกแชแแแก แจแแแแแแ แแแแแแแแแก แแ แแ แแแฅแขแแก แแ แแแแแแแแแก แแแแแญแ แแจแ.
แฉแแแฃแแแแ แแ, แแฃ แแฃแแแแแ แแฌแงแแแ, แแแจแแ แแ แแแฅแขแจแ แแชแแ แ แแแแฃแแแแขแแชแแแ. แแแคแแ แแแชแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แแแแงแแแแ, แฎแแแแแกแแฌแแแแแแ แแฎแแแแ แซแแแแ แแแแแแ แแแแกแแแแก. แแแแแแจแ แแแแแแ แกแแแฃแจแแ แแแแแแก แแแแแฃแแแแแแแแ แแฌแงแแแแ แแ แ-แแ แแฆแแจแ. แแแแก แแแกแแฉแฅแแ แแแแแ, แฉแแแ แแแแแแแงแแแแ Docker.
แจแแแแแแ แแแแแแ แแ แแก แแแแแแแแแแแขแจแ แแแ แแแแขแ แแแแก แกแขแแแแแ แขแแแแชแแ. แฉแแแ แแแแแชแแแแแแแ, แแแแแแแแแ แแแ แงแแแแแแแแก แแฆแแแแ แแแแชแแแขแแแแก. แงแแแแ แแแฎแฃแแ แจแแแแฎแแแแแจแ แจแแแงแแแแแแ แแแ แแแแฃแแ แแแแแแ, แแแแแแแแแ, vasya.dev. แแแก แแแแ แแแ แแแก แแแกแ แแแแแแแแ แแแขแแ, แ แแแแแก แแแแแแ แแ แแก petya.dev. แแกแแแ แแแแแแ แแแแ แแแแกแแแขแก แแ แกแแกแขแแแแก แแแแแแ แ แแแแแแแแแขแก แแ แแแแแแแก แกแแฎแแแแก แแแแแงแแแแแแ.
แ แแแแกแแช แกแแกแขแแแ แแแ แแแแ แแ แแแแแแฃแ แ แกแแฎแแแแแ แแฌแงแแแแ แแแแคแแแฃแ แแชแแแจแ แแแฎแแแแ แแก, แฌแแ แแแแฅแแแแแ แแแแแแแแ แแแแก แแแ แแแแก แแแแคแแแฅแขแ แแ แกแแแขแแก แแแแแแ แฎแแแแฎแแ แแฌแแ แแแ.
แแแแแ แฎแแแแ แแแแแชแแแแ แแแแแก แแแ แแแแขแ แแแแแ แแแแแแจแแ แแแแ. แแแฆแแช แแ แแฌแฃแฎแแแก แฃแกแแคแ แแฎแแแแแก แแ แแฃแจแแแแก root แชแแ แแแแ แแแ แแแแ. แแแกแขแแแแชแแแก แแขแแแแ MySQL-แแ แแแแแแก แกแแฎแแแ แแแ แแแ แแ แแแ แแแ แแฆแแแฉแแแ 123. แฎแจแแ แแ แฎแแแแ, แ แแ แแแแแชแแแแ แแแแแก แแแแคแแแฃแ แแชแแ แแฃแแแแแแ แแชแแแแแ แแแแแแแแแ แแก commit-แแก แแแฎแแแแแ. แแแฆแแชแแ แแแแกแฌแแ แ, แแแฆแแชแแ แแ แจแแแกแฌแแ แ แแแแคแแแฃแ แแชแแ. แแงแ แฎแ แแแแแ, แ แแแแกแแช แฉแแแ แแแแแแฆแแ แ แแแแ แกแแฎแแก แกแแขแแกแขแ แแแแคแแแฃแ แแชแแ .gitignore
แแ แแแแแแฃแ แแแแแแแแแ แก แฃแแแ แแแแงแแแแแแแ แแแแแชแแแแ แแแแ. แแแแ แแแแ แแฃแแ แแแฌแงแแแ. แแฃแชแแแแแแแแ, แกแฎแแ แกแแแแแฎแแแแแ แแ แแแ, แแแฎแกแแแแแ แแแแแชแแแแ แแแแแก แจแแกแแฎแแ. แฃแแแ แแแฎแแแก แแแแแชแแแแ แแแแแก แแแแชแแแแแแแชแแ, แแแ แแแแก แจแแงแแแแ, แแแแฎแแแ แแแแแก แ แแแแกแขแ แแชแแ, แชแฎแ แแแแก แจแแฅแแแ แแ แ.แจ.
แแแแแ แแ แแ แแ แแแแแแแ แแแแแแแแแแแแแก แกแฎแแแแแกแฎแแ แแแ แกแแแแ. แฎแจแแ แแ แฎแแแแ, แ แแ แแแแแแแแแ แ แแฃแจแแแแก แกแฎแแแแแกแฎแแ แแ แแแฅแขแแแแแ. แแ แกแแแแแก แแแแแกแแก แแ แแแฅแขแ, แ แแแแแแช แแแแฌแงแ แฎแฃแแ แฌแแแก แฌแแ (2017 แฌแแแแแ - แ แแ. แจแแแแจแแแ). แแแจแแแแแก แแ แแก แแแแแฌแงแแ MySQL 5.5. แแกแแแ แแ แแก แแแแแแแแ แแแ แแ แแแฅแขแแแ, แกแแแแช แแชแแแแแแ แแแแแ แแแ MySQL-แแก แฃแคแ แ แแแแแแแแ แแแ แแแ แกแแแแ, แแแแแแแแแ, 5.7 แแ แฃแคแ แ แซแแแแ (2017 แฌแแแก - แ แแ. แจแแแแจแแแ)
แแแแช แแฃแจแแแแก MySQL-แแแ, แแชแแก, แ แแ แแ แแแแแแแแแแแแก แแฅแแ แแแแแแแแแแฃแแแแแแ. แกแแแแแแ แแ แแแแแแฃแ แแ 2 แแแแแก แแ แแแ แแแจแแแแ. แงแแแแ แจแแแแฎแแแแแจแ, แซแแแแ แแแแแแขแแแ แแ แแแแแแฃแ แแ แแฎแแ แแแแแชแแแแ แแแแแกแแแ แแแแแแจแแ แแแ. แแก แแแแแก แแฎแ แแ แ แแแแแแแแ แแ แแแแแแแก แฅแแแแก.
แจแแแแแแ แแ แแแแแแแ, แ แแแแกแแช แแแแแแแแแ แ แแฃแจแแแแก แแแแแแฃแ แแแแฅแแแแแ, แแก แแงแแแแแก แแแแแแฃแ แ แแกแฃแ แกแแแก, แแแแแแฃแ แคแแแแแแก, แแแแแแฃแ RAM-แก. แแ แแแแแแแแแก แแแแแฌแงแแแขแแก แจแแแฃแจแแแแแแก แแ แแก แงแแแแ แฃแ แแแแ แแฅแแแแแแ แฎแแ แชแแแแแแแ แแแแก แคแแ แแแแแจแ, แ แแ แแก แแฃแจแแแแก แแ แ แแแแฅแแแแแ. แแแแก แแแแแแแแแ, แ แแแแกแแช แฉแแแ แแแงแแแก backend แกแแ แแแ แแแ Production 3-แจแ แแ แแแแแแแแแ แ แแแแฎแแแก แคแแแแแแก root แแแ แแฅแขแแ แแแจแ แแ แแฅแแแแ แแฆแแแก nginx แคแแแแแแก แแแแฎแแแแแแ แแแกแฃแฎแแก แแแกแแชแแแแ. แ แแแแกแแช แแกแแแ แแแแ แจแแแแก Production-แจแ, แแฆแแแฉแแแแแ, แ แแ แคแแแแ แแแงแแคแแแ 3 แกแแ แแแ แแแแ แแ แ-แแ แแแ.
แแแแ แแกแแ แแแกแแแแก แแแแแ แแฃแแแแ แแฎแแ แแแแแ แแแแ. แ แแแแกแแช แฉแแแ แแงแแคแ แฉแแแแก แแแ แแแแแแแชแแแแก แแชแแ แ แแแแแแแแแขแแแแ, แ แแแแแแแช แฃแ แแแแ แแฅแแแแแแแ แแ แแแแแแแแแ. แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแ แฉแแแ แขแแฅแแแแแแแแแ แแแแชแแแแแแก แแแแแ แแขแฃแแ แแแกแขแแกแแแแก. แแก แแกแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแ แแ แกแแแฃแจแแ แแ แแแกแฃแฎแแกแแแแแแแแ แแแแแแแแแ แแแก แจแแ แแก.
Frondend-แแแแแแแแแ แก, แ แแแแแแช แแแแแ แแแแ JS-แแ, แแแแฅแแแก แแ แแฅแแก แแแแแแแ Backend-แแ. แแแฅแแแแแก แแแแแแแแแ แ, แแแแแก แแฎแ แแ, แแแแแแ แแแก, แฉแแแแก แจแแแแฎแแแแแจแ, Ruby on Rails แแ แแ แแ แแแ Frondend-แจแ. แฃแ แแแแ แแฅแแแแแแ แฎแแ แชแแแแแแแ API-แก แแแแแงแแแแแแ.
แแแแฃแกแแ, Docker-แแก แแแฎแแแ แแแแ, แฉแแแ แจแแแซแแแแ แ แแกแฃแ แกแแแแก แแแแแแฃแจแแแแแ Staging-แแ. แแแแแแฃแแ แแ แแแฅแขแ, แแแแแกแ แกแแแชแแคแแแแแแ แแแแแแแแแแ แ, แแแแแฎแแแแ แแแ แแแแฃแ แแแ แแแแขแ แแแก. แคแแแแแฃแ แแ, แกแแญแแ แ แแงแ แแ แแแ แขแฃแแแฃแ แ แกแแ แแแ แแก แแแแแงแแคแ แแ แแแแ แชแแแแ แแแแคแแแฃแ แแชแแ, แแ แ แแแแ แกแแฎแแก แชแแแแแ แแแ แแแแก แแแแแแ แแแ แแ แแ แแแฅแขแแแแ, แแแแแแแแแแแแแก แแแ แกแแแแแ แแแแแแแแแแ แ, แจแแแซแแแแ แแแแแแแ แแแแฎแแแแแ แแ แแแแแแแแ.
แฎแแแกแแฌแงแแแแ. แ แแก แแแงแแแแแ?
- แแแแแ แแแแแ แ. Dockerfile แแฆแฌแแ แก แแ แแ แแแแแแแชแแแก แแแแแแแแแแฃแแแแแแก.
- Docker-compose แแ แแก แแแแ แแแ, แ แแแแแแช แแแ แแแแแแแก แฉแแแแก แ แแแแแแแแ Docker แแแแแแแชแแแก.
- แฉแแแ แแแงแแแแแ GitLab-แก แฌแงแแ แแก แแแแแก แจแแกแแแแฎแแ.
- แฉแแแ แแแงแแแแแ GitLab-CI แกแแกแขแแแแก แแแขแแแ แแชแแแกแแแแก.
แแแฎแกแแแแแ แแ แ แแแฌแแแแกแแแ แจแแแแแแ.
แแแ แแแ แแแฌแแแจแ แกแแฃแแแ แ แแฅแแแแ แแแแแ, แแฃ แ แแแแ แแฃแจแแแแแ Docker แแแแแแแแแ แแแแก แแแแฅแแแแแแ.
แแแแ แ แแแฌแแแ แแแกแแฃแแ แแแ แแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแฅแแแแแ GitLab-แแแ, แ แแแแ แแแฌแแ แแแแแ แขแแกแขแแแก แแ แ แแแแ แแแแแแแแ Staging-แแ.
Docker แแ แแก แขแแฅแแแแแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแซแแแแ (แแแแแแ แแชแแฃแแ แแแแแแแแก แแแแแงแแแแแแ) แแฆแฌแแ แแก แกแแญแแ แ แแแแแแแแแขแแแ. แแก แแ แแก Dockerfile-แแก แแแแแแแแ. แแฅ แฉแแแ แแแชแฎแแแแแ, แ แแ แฉแแแ แแแฆแแแ แแแแแแแแ แแแแแก แแคแแชแแแแฃแ แ Ruby:2.3.0 Docker แกแฃแ แแแแแแ. แแก แจแแแชแแแก แแแแแกแขแแแแ แแแฃแ Ruby แแแ แกแแแก 2.3. แฉแแแ แแแงแแแแแ แกแแญแแ แ build แแแแแแแแแแแแก แแ NodeJS-แก. แฉแแแ แแฆแแฌแแ แ, แ แแ แฉแแแ แแฅแแแแ แแแ แแฅแขแแ แแแก /app
. แแแแงแแแแ แแแแแแแชแแแก แแแ แแฅแขแแ แแ, แ แแแแ แช แกแแแฃแจแแ แแแ แแฅแขแแ แแ. แแ แแแ แแฅแขแแ แแแจแ แแแแแแกแแแ แกแแญแแ แ แแแแแแแแฃแ Gemfile แแ Gemfile.lock. แจแแแแแ แฉแแแ แแแจแแแแแ แแ แแแฅแขแแแก, แ แแแแแแแช แแแแแแกแขแแแแ แแแแ แแ แแแแแแแแแแฃแแแแแก แกแฃแ แแแก. แฉแแแ แแฆแแแแจแแแแ, แ แแ แแแแขแแแแแ แ แแแแ แแฅแแแแ แแแกแแกแแแแแ แแแ แ แแแ แขแแ 3000. แแแแ แแ แซแแแแแ แแ แแก แแ แซแแแแแ, แ แแแแแแช แแแ แแแแแ แฃแจแแแแก แฉแแแแก แแแแแแแชแแแก. แแฃ แฉแแแ แจแแแแกแ แฃแแแแ แแ แแแฅแขแแก แแแฌแงแแแแก แแ แซแแแแแแก, แแแแแแแชแแ แจแแแชแแแแ แแแฃแจแแแก แแ แแแฃแจแแแก แแแแแแแแฃแแ แแ แซแแแแแ.
แแก แแ แแก docker-compose แคแแแแแก แแแแแแแแฃแ แ แแแแแแแแ. แแ แจแแแแฎแแแแแจแ แฉแแแ แแแฉแแแแแแ, แ แแ แแ แกแแแแแก แแแแจแแ แ แแ แแแแขแแแแแ แก แจแแ แแก. แแก แแแ แแแแแ แแ แแก แแแแแชแแแแ แแแแแก แกแแ แแแกแจแ แแ แแแ แกแแ แแแกแจแ. แฉแแแแ แแแ แแแแแแแชแแแแ แฃแแแขแแก แจแแแแฎแแแแแจแ แกแแญแแ แแแแก แ แแแแ แกแแฎแแก แแแแแชแแแแ แแแแแก แแแแแชแแแแ แจแแกแแแแฎแแ. แแแแแแแแ แฉแแแ แแแงแแแแแ MySQL, แแแแแแแแ แแ แแก MySQL - แแแแ แแ แแ แแคแแ แ แแแแจแแแก แฎแแแก แกแฎแแ แแแแแชแแแแ แแแแแก แแแแแงแแแแแแจแ (PostgreSQL, Redis).
แฉแแแ แแแฆแแแ Docker Hub-แแก แแคแแชแแแแฃแ แ แฌแงแแ แแแแ MySQL 5.7.14 แกแฃแ แแแก แชแแแแแแแแแแก แแแ แแจแ. แฉแแแ แแแแ แแแแแ แกแฃแ แแแก, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แฉแแแแก แแแ แแแแแแแชแแแแ แแแแแแแแ แ แแแ แแฅแขแแ แแแแแ. แแก แฉแแแแแแแก แแแ แแแแแก แกแฃแ แแแก แแแ แแแแ แแแจแแแแแก แแ แแก. แจแแแแแ แแก แแฌแแ แแแแแก แแ แซแแแแแแก, แ แแแแแกแแช แฉแแแ แแฅ แแแกแ แฃแแแแ. แแฃ แฃแแแ แแแแแ แฃแแแแแแ, แแแแแแแฎแแแ, แ แแ Puma-แก แแแจแแแแแแ แแแจแแแแแก แแ แซแแแแแ แแแแกแแแฆแแ แฃแแแ. Puma แแ แแก แ แฃแแแจแ แแแฌแแ แแแ แกแแ แแแกแ. แแแแ แ แจแแแแฎแแแแแจแ, แฉแแแ แแแแแแแแฎแแแ. แแก แแ แซแแแแแ แจแแแซแแแแ แแงแแก แแแแแแแแฃแ แ, แ แแช แแแแแแแแแแฃแแแ แฉแแแแก แกแแญแแ แแแแแแแ แแ แแแแชแแแแแแ.
แฉแแแ แแกแแแ แแฆแแฌแแ แ, แ แแ แฉแแแ แแแญแแ แแแแ แแแ แขแแก แแแแแแแแแแ แฉแแแแ แแแแแแแแแ แแก แแแกแแแแซแแ แแแแฅแแแแแ 3000-แแแ 3000-แแแ แแแแขแแแแแ แแก แแแ แขแแ. แแก แแแแแแแ แแแขแแแแขแฃแ แแ iptables-แแก แแ แแแกแ แแแฅแแแแแแแก แแแแแงแแแแแแ, แ แแแแแแช แแแ แแแแแ แแ แแก แฉแแแแแฃแแ Docker-แจแ.
แแแแแแแแแ แก แแกแแแ, แ แแแแ แช แแแ แ, แจแแฃแซแแแ แฌแแแแแ แแแแแกแแแแ IP แแแกแแแแ แแแ, แแแแแแแแแ, 127.0.0.1 แแ แแก แแแแ แแขแแก แแแแแแฃแ แ แแ แแแ แ IP แแแกแแแแ แแ.
แแแแ แฎแแแ แแแแแแก, แ แแ แแแ แแแแขแแแแแ แ แแแแแแแแแแฃแแแ db แแแแขแแแแแ แแ. แ แแแแกแแช แฉแแแ แแแแฃแฌแแแแแ แแแ แแแแขแแแแแ แแก แแแฌแงแแแแก, docker-compose แแแ แแแแแ แแแแฌแงแแแก แฉแแแแแแแก แแแแแชแแแแ แแแแแก. แฃแแแ แแแแแก แแแฌแงแแแแกแแก (แคแแฅแขแแแ แแแแ - แแแแขแแแแแ แแก แแแจแแแแแก แจแแแแแ! แแก แแ แแซแแแแ แแแแแชแแแแ แแแแแก แแแแแงแแคแแแก แแแ แแแขแแแก) แแแแฌแงแแแก แแแแแแแชแแแก, แฉแแแแ แแแฅแแแแ.
แแก แแแแแแแ แแแชแแแแแก แจแแชแแแแแแก, แ แแแแกแแช แแแแแชแแแแ แแแแ แแ แแ แแก แแ แแแแแแแแก แ แแกแฃแ แกแแแก, แ แแแแกแแช แแแฉแแ แแแ แแแแแชแแแแ แแแแแก แแแแขแแแแแ แก, แ แแแแช แแแแแแกแฃแคแแแแก แ แแกแฃแ แกแแแก แกแฎแแ แแ แแแฅแขแแแแกแแแแก.
แ แ แแแแซแแแแก แแ แแแฅแขแแ แแแแแชแแแแ แแแแแก แแแแแ แแแแชแแแก แแแแแงแแแแแแก. แฉแแแ แแแคแแฅแกแแ แแแ MySQL-แแก แแแ แกแแแก แงแแแแ แแแแแแแแแ แแกแแแแก. แแก แแแแแแแ แแแชแแแแแก แจแแชแแแแแแก, แ แแแแแแแช แจแแแซแแแแ แแแฎแแแก แแแ แกแแแแแก แแแแกแฎแแแแแแแกแแก, แกแแแขแแฅแกแแก, แแแแคแแแฃแ แแชแแแก, แแแแฃแแแกแฎแแแแ แแแ แแแแขแ แแแแก แจแแชแแแแกแแก. แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแฃแแแแแ แกแแแ แแ แฐแแกแขแแก แกแแฎแแแ แแแแแชแแแแ แแแแแกแแแแก, แจแแกแแแ, แแแ แแแ. แฉแแแ แแจแแ แแแแแ แกแแฎแแแแแแกแ แแ แแแแคแแแฅแขแแแแก แแแแแแ แแก แแแแคแแแฃแ แแชแแแก แคแแแแแแจแ, แ แแแแแแแช แแแ แ แแแฅแแแแ.
แฉแแแ แแแแฅแแก แจแแกแแซแแแแแแแ แแแแแแแงแแแแ แฃแคแ แ แแแขแแแแแฃแ แ แแแแคแแแฃแ แแชแแ แแแแแแแแ แแแแก แแแ แแแแกแแแแก, แ แแแแแแช แแแแกแฎแแแแแแแ แแแแฃแแแกแฎแแแแแกแแแแ. MySQL แแแแคแแแฃแ แแ แแแฃแแแ แกแฃแกแขแ แแแแฅแแแแแแกแแแแก แแแแฃแแแกแฎแแแแแ แแ แแแกแ แจแแกแ แฃแแแแ แซแแแแแ แชแฃแแแ.
Docker แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแงแแแแ แกแแกแฃแ แแแแ แแแ แกแแแก Python, Ruby, NodeJS, PHP แแแ แฏแแแแแ. แฉแแแ แแแฎแกแแแ แ แแแแ แกแแฎแแก แแแ แกแแแก แแแแแฏแแ แแก แแแแแงแแแแแแก แแฃแชแแแแแแแแแก. แแแ แ แ แฃแแ แแงแแแแแแ rpm แแแแแขแก, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แจแแชแแแแแ แแแ แกแแ แแ แแแฅแขแแก แแแฎแแแแแ. แแก แแกแแแ แกแแจแฃแแแแแแก แแซแแแแก, Docker แแแแขแแแแแ แแก แฌแงแแแแแแ, แจแแฃแคแแ แฎแแแแแ แแแแแแขแแแแก แแแแ แแ แแแแแแแแแแฃแแแแแแแแ แแ แแแ แแแ แกแแแแ. แฉแแแ แแ แแแแฅแแก แแ แแแแแแ แ แแแแ แช แแแ แฏแแแแแก, แแกแแแ แแแแแก แแแ แกแแแก แแแแแแแจแ. แแแ แกแแแก แแแแแฎแแแแแกแแแแก, แฉแแแแฌแแแ แซแแแแ แแแแขแแแแแ แ แแ แแฌแแแ แแฎแแแ แแแแขแแแแแ แ. แแฃ แ แแแ แแ แแกแฌแแ แแ แฌแแ แแแแ แแ, แฉแแแ แจแแแแแซแแแ แฉแแแแแฌแแแ แแฎแแแ แแแแขแแแแแ แ, แแแฌแแแ แซแแแแ แแแแขแแแแแ แ.
แกแฃแ แแแแก แแแแแแก แจแแแแแ, แแแแขแแแแแ แแแ แ แแแแ แช แแแแแแแแแแแขแจแ, แแกแแแ แฌแแ แแแแแแจแ แแแแแ แแฅแแแแ. แแก แแแแกแแแฃแแ แแแแ แแฎแแแ แแแ แแแแแแแแ แแแก.
Frontend-แแ แแแงแแแแแ JavaScipt แแ NodeJS.
แแฎแแ แฉแแแ แแแแฅแแก แแแแ แแ แแแฅแขแ ReacJS-แแ. แแแแแแแแแ แแ แแแฃแจแแ แงแแแแแคแแ แ แแแแขแแแแแ แจแ แแ แแแแแแแแแ แ แชแฎแแแ แแแแแขแแแ แแแแก แแแแแงแแแแแแ.
แจแแแแแแ, JavaScipt แแกแแแแแแแก แแแแแแแแ แแฎแกแแแแ แแ แกแขแแขแแแแจแ แจแแแแแแแแ แแแแ แแแชแแแฃแแแ nginx-แแก แแแแแแแแก แ แแกแฃแ แกแแแแก แกแแจแฃแแแแแแ.
แแฅ แแ แแแแแชแ แฉแแแแ แแแแ แแ แแแฅแขแแก แกแฅแแแ.
แ แ แแแแชแแแแแ แแแแแฌแงแแ? แฉแแแ แแแฅแแแแ แกแแญแแ แ แกแแกแขแแแแก แแแแแ, แ แแแแแแแแแช แแแแแแฃแ แ แแแฌแงแแแแแแแแแ แฃแ แแแแ แแฅแแแแแแแ. แแกแแแ แแฆแแแแ แแแแแชแแแแแก. แแ แแ แจแแกแแซแแแแแแแ แแ แแก แแ แแแฌแงแแแแแแแแแ push-แจแแขแงแแแแแแแแแแก แแแแแแแแ.
แ แ แแแแแแแแแ แแแแกแแแแก?
แฉแแแ แแแแงแแแแ แแแแแแแชแแแจแ แแกแแ แแแแแแแแแขแแแแ, แ แแแแ แแชแแ: แแแแแแแกแขแ แแชแแฃแแ แแแฌแแแ JS-แแ, backend, แ แแแแแแช แแฃแจแแแแก REST แแแขแแ แคแแแกแแ Ruby on Rails-แแก แฅแแแจ. Backend แฃแ แแแแ แแฅแแแแแแก แแแแแชแแแแ แแแแแกแแแ. แจแแแแแ, แ แแแแแแช แฌแแ แแแแฅแแแแแ, แแซแแแแ แแแแแแขแก. แแแแแแแกแขแ แแชแแฃแแ แแแแแแ แฃแ แแแแ แแฅแแแแแแก backend-แแแ แแ แแแแแชแแแแ แแแแแกแแแ REST แแแขแแ แคแแแกแแก แกแแจแฃแแแแแแ.
แฉแแแ แแกแแแ แแแฅแแแแ Push แจแแขแงแแแแแแแแแแก แแแแแแแแแก แกแแญแแ แแแแ. แแแแแแแ แแแฅแแแแ แแ แแแฅแขแ, แ แแแแแแแช แแแแแ แแ แแแฅแแแแแแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แแแแแแฃแ แแแแขแคแแ แแแแแ แจแแขแงแแแแแแแแแแก แแแฌแแแแแแแ.
แฉแแแ แจแแแแแฃแจแแแแ แจแแแแแแ แกแฅแแแ: แแ แแฃแแแ แแก แแแแ แแขแแ แ แฃแ แแแแ แแฅแแแแแแก แแแแแแแกแขแ แแชแแฃแ แแแแแแแแ, แแแแแแแกแขแ แแชแแฃแแ แแแแแแ แฃแ แแแแ แแฅแแแแแแก แแแฅแแแแแแ, แแแแชแแแแ Push แจแแขแงแแแแแแแแแแก แแแแแแแแ.
Push แจแแขแงแแแแแแแแแ แฃแ แแแแ แแฅแแแแแแก แกแฎแแ แแแแแแแแแขแแแ, แ แแแแแแช แแแแแ แแแแแ NodeJS-แจแ.
แแฅแแแแแ แ แแแแแ แแ แจแแแแแ แแแแแแแแแ แจแแขแงแแแแแแแแแ แแแแ แแแฅแแแแแแแก แแแฎแแแแแ.
แแฅ แจแแแแแแแแแ แแ แ แแแแแชแแแแ แแแแ. แแ แแ แแแกแแแแก Docker-แแก แแแฎแแแ แแแแ แแแงแแแแแ 2 แแแแแฃแแแแแแแ แแแแแชแแแแ แแแแแก, แ แแแแแแแช แแ แแแแแ แแ แแ แแ แแก แแแแแแจแแ แแแฃแแ แแ แแแแแแแแแ. แแแ แแ แแแแกแ, แแแ แแฅแแ แกแแแ แแ แแแ แขแฃแแแฃแ แ แฅแกแแแ แแ แคแแแแแฃแ แ แแแแแชแแแแแ แแแแฎแแแ แแแแแแแแแ แแก แแแแ แแขแแก แกแฎแแแแแกแฎแแ แแแ แแฅแขแแ แแแจแ.
แแแแแ, แแแแ แแ แ แแชแฎแแแแจแ. แแก แแ แแก แกแแแแช แแแแแก แฎแแแแฎแแแ แแแแแงแแแแแ แแแแจแแแแแแแแแแ.
แแฃ แแแ แ แแกแแฃแแ แแแแแ แแแแแก แฎแแแแฎแแ แแแแแงแแแแแแแ แแแแแแแแแแแแแก แกแแฎแแ, แแแจแแ แแ แแแแแแแแจแ แฉแแแแ แกแแ แแแกแ, แ แแแแแแช แแแกแฃแฎแแแก Push แจแแขแงแแแแแแแแแก, แฎแแแแฎแแ แแแแแแงแแแแแ แ แแแแ แช แกแ แฃแแ แกแแ แแแ แ. แแก แฃแแ แฃแแแแแงแแคแก API-แก. แแ แฉแแแแ แแฎแแแ แแแแแแแแ แแแ แฃแแแ แฃแ แแแแ แแฅแแแแแแก แแแกแแแ.
แแ แแ แแก แฉแแแ แแแงแแแแแแแ NodeJS-แแก แแ-4 แแแ แกแแแก. แแฎแแ (2017 แฌแแแก - แ แแ. แจแแแแจแแแ) แแแแ แแ แแก แแแแแแแแ แแแฃแ แแแแแแแแแจแ แแแงแแแแแ NodeJS-แแก แแ-7 แแแ แกแแแก. แแ แแ แแก แแ แแแแแแ แแฎแแ แแแแแแแแแขแแแจแ แแแแแแแแแแแแแก แแฎแแแ แแแ แกแแแแแก แฉแแ แแแแกแแแแก.
แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แจแแแแซแแแแ แแแแแแแแแแ แแ แแแแแ แแแ NodeJS แแแ แกแแ Push แจแแขแงแแแแแแแแแแก แกแแ แแแกแแแแ.
แแ แแฃ แฉแแแ แจแแแแแซแแแ แจแแแแแแ แฉแฃแแแ API แแแแกแแแแแแแ, แแแจแแ แจแแกแแซแแแแแแ แแฅแแแแ แแแกแ แฉแแแแชแแแแแ แกแฎแแ แแ แแแฅแขแแแแ, แ แแแแแแแช แแแ แ แแงแ แแแแแงแแแแแฃแแ.
แ แ แแญแแ แแแแแ แแแแแ แแก แแแกแแแแขแแแแแ? แฉแแแ แแแแแขแแแ Dockerfile-แก แฉแแแแก แกแแชแแแจแ, แ แแแแแแช แแฆแฌแแ แก แแฃแชแแแแแแ แแแแแแแแแแฃแแแแแแก. แแ แแแแแแแแจแ แแแแแแแแแขแแแ แแแแแแฃแ แแ แแงแแคแ. แแก แแ แแก แกแแคแแแแ แแแแแแแแแ แแก แแแแแแแแฃแ แ แแแแ แแแ.
แแฎแแแ แแ แแแฅแขแแก แจแแฅแแแแกแแก แแฅแแแแ Dockerfile-แก, แแฆแแฌแแ แ แกแแกแฃแ แแแ แแแแกแแกแขแแแแก (Python, Ruby, NodeJS). Docker-compose-แจแ แแฆแฌแแ แก แแฃแชแแแแแแ แแแแแแแแแแฃแแแแแก - แแแแแชแแแแ แแแแแก. แฉแแแ แแฆแแฌแแ แ, แ แแ แแแญแแ แแแแ แแแแแชแแแแ แแแแ แแแ แแฃ แแ แแแ แกแแแก, แแแแแชแแแแแแก แจแแแแฎแแ แแฅ แแ แแฅ.
แฉแแแ แแแงแแแแแ แชแแแแ แแแกแแแ แแแแขแแแแแ แก nginx-แแ แกแขแแขแแแฃแ แ แแแกแแแกแแฎแฃแ แแแแแ. แจแแกแแซแแแแแแแ แกแฃแ แแแแแแก แแขแแแ แแแ. Backend แแแแแกแแแก แแแ แฌแแแแกแฌแแ แแแแแแแแแฃแ แแแชแฃแแแแแจแ, แ แแแแแแช แแกแแแ แแแแแแขแแแแแฃแแแ แแแแขแแแแแ แจแ nginx-แแ, แ แแแแแแช แแซแแแแ แกแขแแขแแแแก.
nginx, mysql แแแแคแแแฃแ แแชแแแก แจแแกแแแแฎแแ แแแแแแแขแแ Docker แกแแฅแแฆแแแแ, แ แแแแแจแแช แแแแแฎแแแ แกแแญแแ แ แแแแคแแแฃแ แแชแแแแก. แ แแแแกแแช แแแแแแแแแ แ แแแแแแแก แกแแชแแแแก git แแแแแก แแแแแก แแแแ แแขแแ, แแแก แฃแแแ แแฅแแก แแ แแแฅแขแ แแแแ แแแแแแฃแ แ แแแแแแแแ แแแแกแแแแก. แกแแแแแฎแแแ แแ แแ แแก, แ แ แแแ แขแ แแ แ แ แแแ แแแแขแ แแแแก แแแแแงแแแแแ.
แจแแแแแแ, แฉแแแ แแแแฅแแก แ แแแแแแแแ แแแแแแแแแขแ: แแแแแแแกแขแ แแขแแ แ, แแแคแแ แแแ แแแ-API, push แจแแขแงแแแแแแแแแ.
แแ แงแแแแแคแ แแก แแแกแแฌแงแแแแ แฉแแแ แจแแแฅแแแแแ แแแแแ แแ แแ แกแแชแแแ, แ แแแแแกแแช แแแแแ แฅแแแ dockerized-app. แแ แแ แแแกแแแแก แฉแแแ แแแงแแแแแ แ แแแแแแแแ แกแแชแแแก แแแแแแฃแแ แแแแแแแแแขแแก แฌแแ. แแกแแแ แฃแแ แแแแ แแแแแแฃแ แแ แแแแกแฎแแแแแแแแแ - GitLab-แจแ แแก แกแแฅแแฆแแแแแก แฐแแแแก, แแแแ แแ แแแแแแแแแ แแก แแแแฅแแแแแ, แกแแฅแแฆแแแแ แแแแแ แแขแฃแแ แแ แแแฅแขแแกแแแแก. แแ แแ แแแแแก แฅแแแแแ แแ แแก แแแแแแแแแขแแแ, แ แแแแแแแช แแแแ แแแแแแแแ.
แแก แแ แแก แแฎแแแแ dockerized-แแแแก แจแแแแแ แกแแก แแแแแแแแ. แฉแแแ แแกแแแ แแแแแงแแแแ Docker แแแ แแฅแขแแ แแแก, แ แแแแแจแแช แแแแกแแแ แงแแแแ แแแแแแแแแขแแก แฃแ แแแแ แแฅแแแแแแแกแแแแก แกแแญแแ แ แแแแคแแแฃแ แแชแแแแก. แแ แแก README.md, แ แแแแแแช แแแแแแ แแฆแฌแแ แก, แแฃ แ แแแแ แฃแแแ แแฌแแ แแแแ แแ แแแฅแขแ.
แแฅ แฉแแแ แแแแแแแงแแแแ แแ แ docker-compose แคแแแแ. แแก แแแแแแแ แแแแกแแแแก, แ แแ แจแแซแแแ แแขแแแแแ แแแแ แแแจแแแแ. แ แแแแกแแช แแแแแแแแแ แ แแฃแจแแแแก แแแ แแแแแ, แแแก แแ แกแญแแ แแแแ push-แจแแขแงแแแแแแแแแ, แแก แฃแแ แแแแ แฃแจแแแแก docker-compose แคแแแแก แแ, แจแแกแแแแแแกแแ, แ แแกแฃแ แกแ แแแแฎแแแ.
แแฃ แกแแญแแ แแ push-แจแแขแงแแแแแแแแแแแ แแแขแแแ แแ แแแ, แแแจแแ แแแจแแแแฃแแแ docker-compose.yaml แแ docker-compose-push.yaml.
แแแแแแแแ docker-compose.yaml แแ docker-compose-push.yaml แแ แแก แกแแฅแแฆแแแแแจแ, แแแขแแแแขแฃแ แแ แแฅแแแแแ แแ แแ แแแ แขแฃแแแฃแ แ แฅแกแแแ.
แแแแแแแแแขแแแแก แแฆแฌแแ แ. แแก แแ แแก แฃแคแ แ แแแฌแแแแแ แคแแแแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แแแแแแแแแขแแแแก แจแแแ แแแแแแแ. แ แ แแ แแก แแฅ แแฆแกแแแแจแแแแ? แแฅ แฌแแ แแแแแแแแแ แแแแแแกแแก แแแแแแแแแขแก.
แแก แแ แแก แแแ Docker แกแฃแ แแแ, แ แแแแแแช แแฃแจแแแแก nginx-แแ แแ แแแแแแแชแแ, แ แแแแแแช แฃแกแแแแก Docker แกแแแแขแก. แแแแแแแฃแ แ, แ แแแแแ แแแแขแแแแแ แแแ แฉแแ แแฃแแแ แแ แแแแแ แแฃแแแ, แแก แแฆแแแแแแก nginx แแแแคแแแฃแ แแชแแแก. แฉแแแ แแแแแฌแแแแแ แแแแแแแแแขแแแแก แแแแฃแจแแแแแแก แแแกแแแ แแแแแก แแแแแแฃแ แ แกแแฎแแแแแแ.
แแแแแแแแ แแแแก แแแ แแแแกแแแแก, แฉแแแ แแแงแแแแแ .dev แแแแแแก - api.informer.dev. แแแแแแแชแแแแ .dev แแแแแแแ แฎแแแแแกแแฌแแแแแแ แแแแแแแแแ แแก แแแแแแฃแ แแแแฅแแแแแ.
แแแ แแ แแแแกแ, แแแแคแแแฃแ แแชแแแแ แแแแแแชแแแ แแแแแแฃแ แแ แแแฅแขแก แแ แงแแแแ แแ แแแฅแขแ แแ แแแ แแฃแแแ แแฌแงแแแ.
แแ แแคแแแฃแแแ, แแแแแแแก, แ แแ แแแแแแขแ แแ แแก แฉแแแแ แแ แแฃแแแ แ แแ แ แแแแ แแแกแขแ แฃแแแแขแ, แ แแแแแแแช แฉแแแ แแแฎแแแ แแแแแแกแแ แก.
แแแแแแแก แกแแฎแแแแก แแแแแแกแแ แ แแแแกแแแฆแแ แแแก แ แแแแ แแแแขแแแแแ แก แแแฃแแแแจแแ แแแก.
แแก แจแแแซแแแแ แแงแแก nginx, แ แแแแแแช แแซแแแแก แแแแแแแกแขแ แแขแแ แก JS. แแก แจแแแซแแแแ แแงแแก nginx, แ แแแแแแช แแซแแแแ API-แก, แแ แกแขแแขแแแฃแ แ แคแแแแแแ, แ แแแแแแแช แแแแแแชแแแ nginx-แก แกแฃแ แแแแแแก แแขแแแ แแแแก แกแแฎแแ.
แแแแแ แแแ แแฉแแแแแแก, แ แแ แแแแขแแแแแ แแแ แแแแแแจแแ แแแฃแแแ แแแ แขแฃแแแฃแ แ แฅแกแแแแ แแ แแแแแแแ แแ แแฅแกแแก แแแฆแแ.
แแแแแแแแแ แแก แแแแ แแขแแ แจแแแแซแแแแ แแแแขแแแแแ แแ แฌแแแแแ IP-แแก แชแแแแแ, แแแแ แแ แแ แแแชแแแจแ แฉแแแ แแแแก แแ แแแงแแแแแ. แแ แแฅแขแแแฃแแแ แแ แแ แแก แกแแญแแ แ แแแ แแแแแ แ แฌแแแแแ.
แ แแแแ แแแแแแแแก แแแแฎแแแแ แแฅแแแแ แแแแแชแฎแแแแก แแแแแ แแแแชแแแกแแแแก? แฉแแแ แแแ แแ, แแแ แแ แแแแแแแแแ แแคแแชแแแแฃแ แ แแแแแ แแก แกแฃแ แแแ MySQL-แแกแแแแก.
แกแแแแแแ แ แแฃแแแ. แแแแ แ แแแ แกแแแ. แแแแ แแ แแแกแ แคแฃแแฅแชแแแแแ แแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแคแแ แแ แแ แแแแแ แกแแญแแ แแแแ, แ แแแแแแช แจแแแซแแแแ แฌแแ แแแแจแแแก แจแแแแแแแ แแแแแแแแ แแแแก แแ แแชแแกแจแ. แแฃ แแฅแแแ แแแฎแแ แฏแแแ แแ แแก แแ แแแแ แแแแแ, แ แแแแ แฃแ แแแแ แแฅแแแแแแก แแก แงแแแแแคแแ แ, แแแจแแ แแคแแฅแ แแ, แ แแ แแฅแแแ แแ แจแแแแฅแแแแแแ แแ แแแแแแแแ แแแแแแแแฎแแ แชแแแแแแแจแ.
Hub.docker.com แฉแแแฃแแแแ แแ แจแแแชแแแก แแแฃแแแแก github.com-แแ, แ แแแแแแช แจแแแชแแแก แแแแแแฃแ แแแแแชแแแแแก แแแ แแแแแ , แกแแแแแแแช แจแแแแซแแแแ แแแแแ แจแแฅแแแแ แกแฃแ แแแ.
แจแแแแแแ แแ แกแแชแแแจแ แแ แแก docker-endpoint.sh แกแแ แแแขแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แกแแฌแงแแก แแแแชแแแแแแแชแแแแ แแ แแแแแแแชแแแก แแแจแแแแแก แจแแแแแแ แแแแฃแจแแแแแแแ.
แแกแแแ แแ แแแแแแแแจแ, แแ แแก แแแ แแแแก แชแแแแแแแแก แแแแแงแแแแแแ แแแแคแแแฃแ แแชแแแก แจแแกแแซแแแแแแแ. แแแ แแแแก แชแแแแแแก แแแแกแแแฆแแ แแ แแ แแ แแแแขแแแแแ แแก แแแจแแแแแกแแก แแ docker-compose-แแก แกแแจแฃแแแแแแ, แจแแแแแซแแแ แแแฅแแแ, แ แแ แฉแแแ แฃแแแ แแแแแงแแแแ แชแแ แแแแ แแแ แแแ Docker-แแกแแแแก, แ แแ Root-แก MySQL-แแ แแ แ แแกแแช แฉแแแ แแแแแแ.
แแ แกแแแแแก แจแแแแฎแแแแแแ แแแ แแแแก แจแแฅแแแแก แจแแกแแซแแแแแแแ. แฉแแแ แแแแแแแ, แ แแ แแแญแแ แแแแ แแแแฎแแแ แแแแแ, แฉแแแ แฃแแแ แแแแแงแแแแ แแแ แแแ แแแแฎแแแ แแแแแกแแแแก แแ แฉแแแ แฃแแแ แจแแแฅแแแแ แแแแแชแแแแ แแแแ.
แฉแแแแก แแ แแแฅแขแแแจแ แฉแแแ แแแแแ แแแแแแ แแแแแแ Dockerfile, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แแแแชแแแแแแแชแแแแ. แแฅ แฉแแแ แจแแแแกแฌแแ แแ แแก แฉแแแแก แกแแญแแ แแแแแแแ, แ แแแ แแก แแฎแแแแ แแแแฎแแแ แแแแแก แฃแคแแแแแแแก แแแคแแ แแแแแ แแแแฎแแแแ, แ แแแแแกแแช แแแแแแแชแแ แแงแแแแแก. แแแแ แแแแแชแ แกแแจแฃแแแแแ แแแแแแแแแแแ แจแแแแแฅแแแ แแแแแชแแแแ แแแแ แแแแแแแชแแแก แแแแกแแแแแแ. Ruby แแแแแแแชแแแแก แแฅแแ แแ แซแแแแแ แแแแแชแแแแ แแแแแแแก แจแแกแแฅแแแแแแ, แจแแกแแชแแแแแแ แแ แฌแแจแแแกแแแแก.
แแก แแ แแก แแแแแแแแ แแแแกแ, แแฃ แ แแแแ แแแแแแงแฃแ แแแ MySQL-แแก แแแแแ แแขแฃแแ แแแ แกแแ github.com-แแ. แจแแแแซแแแแ แแแฎแกแแแ Dockerfile แแ แแแฎแแ แ แแแแ แแแแแแแแ แแแแก แแแกแขแแแแชแแ แแฅ.
docker-endpoint.sh แแ แแก แกแแ แแแขแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ แจแแกแแแแก แฌแแ แขแแแแ. แกแแฌแงแแกแ แแแแชแแแแแแแชแแแก แแ แแก แกแแญแแ แแ แแแ แแแแฃแแ แแแกแแแแแแแแแแ แแแแแฏแแแ แแ แงแแแแ แแก แฅแแแแแแ แแแแแแแ แแฎแแแแ แแแแชแแแแแแแชแแแก แกแแ แแแขแจแ.
แแแแแแแแแ แแแแ แ แแแฌแแแแ.
แฌแงแแ แแก แแแแแแแก แจแแกแแแแฎแแ แแแแแแแแแ gitlab-แแ. แแก แแ แแก แกแแแแแแ แซแแแแ แ แกแแกแขแแแ, แ แแแแแกแแช แแฅแแก แแแแฃแแแฃแ แ แแแขแแ แคแแแกแ.
Gitlab-แแก แแ แ-แแ แแ แแแแแแแแแขแแ Gitlab CI. แแก แกแแจแฃแแแแแแก แแแซแแแแ แแฆแฌแแ แแ แแ แซแแแแแแแแก แแแแแแแแแแ แแแ, แ แแแแแแช แแแแแแแแแแแ แแแแแงแแแแแฃแแ แแฅแแแแ แแแแแก แแแฌแแแแแแก แกแแกแขแแแแก แแ แแแแแแแแแกแแแแก แแ แแแขแแแแขแฃแ แ แขแแกแขแแ แแแแก แแแกแแจแแแแแ.
Gitlab CI 2 แกแแฃแแแ แ
แแฎแแ แฉแแแ แแแแแแฎแแแแแ แ แ แแ แแก แกแแญแแ แ Gitlab CI-แแก แแแกแแแฅแขแแฃแ แแแแแ. แแแแกแแแแแก, แ แแ แแแแแฌแงแแ Gitlab CI, แฉแแแ แฃแแ แแแแ แฃแแแ แแแแแงแแแแ .gitlab-ci.yml แคแแแแ แแ แแแฅแขแแก root-แจแ.
แแฅ แฉแแแ แแฆแแฌแแ แ, แ แแ แฉแแแ แแแแแแ แจแแแแกแ แฃแแแ แแแแแแแ แแแแแแแก แแแแแแแแแแ แแแ, แ แแแแ แแชแแ แขแแกแขแ, แแแแแแแแแ.
แฉแแแ แแแกแ แฃแแแแ แกแแ แแแขแแแก, แ แแแแแแแช แแแ แแแแแ แแแฃแฌแแแแแแ docker-compose-แก แฉแแแแ แแแแแแแชแแแก แจแแกแแฅแแแแแแ. แแก แแฎแแแแ แฃแแแแ แแแฌแแแแก แแแแแแแแแ.
แจแแแแแแ, แฉแแแ แแแแแแแ, แ แแ แแฃแชแแแแแแแแ แแแแ แแชแแแก แแแจแแแแ แแแแแชแแแแ แแแแแก แจแแกแแชแแแแแแ แแ แขแแกแขแแแแก แแแกแแจแแแแแ.
แแฃ แกแแ แแแขแแแ แกแฌแแ แแ แแ แแก แจแแกแ แฃแแแแฃแแ แแ แแ แแแแแ แฃแแแแก แจแแชแแแแแก แแแแก, แแแจแแ แกแแกแขแแแ แแแแแแแก แแแแแแแแแแก แแแแ แ แแขแแแแ.
แแแแแแแแแแก แแขแแแ แแแแแแแ แแแแฎแแ แชแแแแแแฃแแแ แแแแแแแกแแแแก. แฉแแแ แแ แแแแแฌแงแแแ แแฃแแแแแแ แจแแคแแ แฎแแแแก แแแแแขแแแ แแแ.
แฉแแแ แซแแแแ แแแฅแ แแแ แงแแแแ แแแแขแแแแแ แก, แจแแแแแ แแ แแกแแ แแแฌแแแ แงแแแแ แแแแขแแแแแ แก, แ แแแแแแช แจแแแ แแแแ แแแ แแแ แแขแแแแ แขแแกแขแแ แแแแก แแ แแก.
แฉแแแ แแแงแแแแแ แแแแแแแแ แ แแแ แแแแก แชแแแแแ แแแแแชแแแแ แแแแแก แแแแ แแชแแแก, แ แแแแแแช แแแฌแแ แแแแ แแแแแแแแแ แแแแก แแแแ .
แแ แกแแแแแก แจแแแแจแแแ, แ แแ แแก แแฎแแแ แแฎแแแแ แแแแแแ แคแแแแแแก.
แกแฎแแ แคแแแแแแแแแก แจแแชแแแแกแแก แแ แกแ แฃแแแแแ.
แจแแกแแซแแแแแแแ แแแแแแแแแแก แแ แแแแแแแแ แคแแแแแแแแแก แแแฎแแแแแ.
แแแแก แจแแแแแแแ แแ แแแแแแแแแกแแแแก, แฉแแแ แฃแแแ แแแแแงแแแแ Gitlab Runner.
แแก แแ แแแ แแแ แแแฌแแ แแแแ Golang-แจแ. แแก แแ แแก แแ แแ แคแแแแ, แ แแแแ แช แแก แฉแแแฃแแแแ แแ แแแแแแแแก แกแแแงแแ แแจแแ, แ แแแแแแช แแ แกแแญแแ แแแแก แ แแแแ แแแแแแแแแแฃแแแแแก.
แแแจแแแแแกแแก แฉแแแ แแแ แแแแกแขแ แแ แแแ Gitlab Runner-แก.
แฉแแแ แแแฆแแแ แแแกแแฆแแแก Gitlab แแแ แแแขแแ แคแแแกแจแ.
แจแแแแแ แฉแแแ แแแแฃแฌแแแแแ แแแแชแแแแแแแชแแแก แแ แซแแแแแแก แแ แซแแแแแแก แฎแแแแ.
แแแแงแแแแ Gitlab Runner แแแขแแ แแฅแขแแฃแแแ (Shell, Docker, VirtualBox, SSH)
Gitlab Runner-แแก แแแแ แจแแกแ แฃแแแแแ แงแแแแ แแแแแแแแแจแ, .gitlab-ci.yml แแแ แแแแขแ แแก แแแฎแแแแแ.
แ แแแแ แแแแแแงแฃแ แแแ แแแแฃแแแฃแ แแ Gitlab-แจแ แแแ แแแขแแ แคแแแกแจแ. แแแก แจแแแแแ, แ แแช แฉแแแ แแแแแแแแจแแ แแแ GItlab CI-แก, แแแแฅแแก แแ แแจแ, แ แแแแแแช แแฉแแแแแแก แแฌแงแแแแก แแแแแแแ แแแแแก แแแแแแขแจแ.
แแฎแแแแแ, แ แแ 4 แฌแฃแแแก แฌแแ แแแแแแแ แแแแแแแฃแแแแ, แ แแแแแแแช แงแแแแ แขแแกแขแ แแแแแ แ แแ แแ แแแแแแ แแ แจแแฅแแแแ.
แฉแแแ แจแแแแแซแแแ แฃแคแ แ แแฎแแแก แแแแฎแแแแ แจแแแแแแแก. แแฅ แฉแแแ แแฎแแแแแ, แ แแ แแ แ แกแแฎแแแแฌแแคแ แฃแแแ แแแแแแ. แขแแกแขแแ แแแแก แกแขแแขแฃแกแ แแ แแแแแแแแแแก แกแขแแขแฃแกแ แแแแแแแแ.
แแฃ แแแแแฌแแแแฃแแแแ แแแแแ แแขแฃแ build-แแ, แแแจแแ แแฅแแแแ แแแแกแแแแก แแแแแแแแแแ แแ แซแแแแแแแ, แ แแแแแแแช แแแจแแแแฃแแ แแฅแแ แแ แแชแแกแจแ .gitlab-ci.yml-แแก แแแฎแแแแแ.
แแกแ แแแแแแงแฃแ แแแ แฉแแแแ แแ แแแฃแฅแขแแก แแกแขแแ แแ. แฉแแแ แแฎแแแแแ, แ แแ แแงแ แฌแแ แแแขแแแฃแแ แแชแแแแแแแแ. แ แแแแกแแช แขแแกแขแแแ แฌแแ แแแแแแแแ, แแก แแ แแแแแแแก แจแแแแแ แแขแแแแ แแ แแแแแแแก แแแแ แแ แแแแแฎแแแแแ.
แ แ แแแแชแแแแแ แแแแแแฌแงแแแขแแ แกแชแแแแแ แแแแแ แแก แแแแแ แแแแกแแก? แฉแแแแ แกแแกแขแแแ แจแแแแแแ แแแแแแแแแขแแแแกแแแ แแ แแแฅแแแแ แกแแญแแ แแแแ แแแแแขแแแ แแแ, แแฎแแแแ แแแแแแแแแขแแแแก แแแฌแแแ, แ แแแแแแช แแแแแฎแแแ แกแแชแแแจแ แแ แแ แ แแแแแ แกแแกแขแแแ.
แแแแกแแแแแก แฉแแแ แฃแแแ แแแแแแขแแฎแ แงแแแแแคแแ แ แชแแแแแฃแ แกแแฅแแฆแแแแแแแจแ.
แแแแก แจแแแแแ, แฉแแแ แแแฅแแแแ แแ แแแแแแ แแแแกแ, แ แแ Docker-compose แฅแแแแก แกแแแฃแแแ แฅแกแแแฃแ แกแแแ แชแแก แแแแแแฃแแ แแแแแกแแแแก แแ แแแ แฎแแแแแก แแแแแแแแก แแแแแแแแแขแแแก.
แแแแแแแแแแแแแก แแแแแแ, แฉแแแ แจแแแฅแแแแแ แฅแกแแแ Docker-แจแ แฎแแแแ. Docker-compose-แจแ แแฌแแ แ, แ แแ แแฅแแแ แแงแแแแแ แแกแแ แฅแกแแแก แแ แแ แแแฅแขแแกแแแแก.
แแแ แแแแ, แงแแแแ แแแแแแแแแขแ, แ แแแแแแช แแฌแงแแแ แแ แแแแแ, แฎแแแแแก แแแแแแแแแขแแแก แกแแกแขแแแแก แกแฎแแ แแแฌแแแแแจแ.
แจแแแแแแ แกแแแแแฎแ แแ แแก แแแแแแแก แแแงแแคแ แแ แแแแ แแ แแแฅแขแแ.
แแแแแแแแ แแแแกแแแแแก, แ แแ แแก แงแแแแแคแแ แ แแแแแแแ แแ แ แแช แจแแแซแแแแ แแฎแแแก แแงแแก แฌแแ แแแแแแกแแแ, แแแ แแแ แแแแแแงแแแแ แแแ แขแ 80 แแ 443, แ แแแแแแช แแแแแแงแแแแแ แงแแแแแแ WEB-แจแ.
แ แแแแ แแแแแแแแ แแ? แฉแแแ แแแแแแแจแแแ แแ แแ Gitlab Runner แงแแแแ แซแแ แแแแ แแ แแแฅแขแแ.
Gitlab แแแซแแแแ แกแแจแฃแแแแแแก แแฌแแ แแแแ แ แแแแแแแแ แแแแแฌแแแแแฃแแ Gitlab Runners, แ แแแแแแแช แฃแแ แแแแ แแแแฆแแแแ แงแแแแ แแแแแแแแแก แ แแแ แแแแแแ แฅแแแขแฃแ แแ แแ แแกแ แฃแแแแแ แแแ.
แกแแฎแแ แ แแ แแ แแแฅแแแแแก, แฉแแแแ แแ แแแฅแขแแแแก แฏแแฃแคแ แจแแแแแแคแแ แแแแ แแ แแ Gitlab Runner-แแ, แ แแแแแแช แฃแแ แแแแแแแ แฃแแแแแแแแแ แฉแแแแก แขแแแแแก.
แฉแแแ แแแแแแแงแแแแแ nginx-proxy แชแแแแ แแแจแแแแแก แกแแ แแแขแจแ แแ แแแแแแแขแแ แแแแแแแ แแแกแจแ แจแแแแแแแ แงแแแแ แแ แแแฅแขแแกแแแแก.
แฉแแแแก แแ แแแฅแขแก แแฅแแก แแ แแ แแแแ, แฎแแแ แแแแแแกแแ แก แแฅแแก แ แแแแแแแแ แแแแ แแ แแแฅแขแแก แกแแฎแแแฌแแแแแแ. แแแก แจแแฃแซแแแ แแ แแฅแกแ แจแแแแแแแ แแแแแแแก แกแแฎแแแแแแ.
แฉแแแแ แแแแฎแแแแแแ แแแแแก 80-แ แแแ แขแแก แแแแแแแก แแแจแแแแแแ แแ แแแแแแญแ แแแ แแแแขแแแแแ แแแแก แฏแแฃแคแจแ, แ แแแแแแช แแแกแแฎแฃแ แแแ แแ แแแแแแก.
แกแฎแแ แ แ แแ แแแแแแแแ แแงแ? แแก แแ แแก แแก, แ แแช แงแแแแ แแแแขแแแแแ แ แแฃแจแแแแก แ แแแแ แช root แแแแฃแแแกแฎแแแแแ. แแก แคแแกแแ แแ แแแแแแแแ แแ แกแแกแขแแแแก แซแแ แแฃแ แแแกแแแแซแแแแแ.
แแฃแแชแ, แแฃ แแแแขแแแแแ แจแ แจแแแแฎแแ แ, แแก แแฅแแแแ root แแ แคแแแแ, แ แแแแแกแแช แฉแแแ แแฅแแแแ แแ แแแแขแแแแแ แจแ, แแฆแแแก root แฃแคแแแแแแก.
แแฃ แแแแแแแแแ แ แจแแแแแ แแแแขแแแแแ แจแ แแ แจแแแกแ แฃแแ แ แแแแแแแแ แแ แซแแแแแ, แ แแแแแแช แฅแแแแก แคแแแแแแก, แจแแแแแ แแแขแแแ แแแแขแแแแแ แ, แแแจแแ แแแก แแฅแแก แคแแแแ แแแแแก แกแแแฃแจแแ แแแ แแฅแขแแ แแแจแ, แ แแแแแแแช แแแก แแ แแฅแแก แฌแแแแแ.
แ แแแแ แจแแแซแแแแ แแแกแ แแแแแแ แแแ? แจแแแแซแแแแ แแแแแแขแแ แแแแฎแแแ แแแแแแ, แ แแแแแแแช แแฅแแแแแแ แแแแขแแแแแ แจแ.
แ แ แแ แแแแแแแแ แฌแแ แแแแฅแแแ, แ แแแแกแแช แฉแแแ แแแแแแแขแแ แแแแฎแแแ แแแแแ?
แแแแฎแแแ แแแแแก แจแแฅแแแแกแแก แฎแจแแ แแ แแ แแแแฅแแก แแแแแ แฏแแฃแคแแก ID (UID) แแ แแแแฎแแแ แแแแแก ID (GID).
แแแแขแแแแแ แจแ แแ แแ แแแแแแแก แแแกแแแแแ แแแแแ, แฉแแแ แแแงแแแแแ แแแแฎแแแ แแแแแแก ID 1000.
แฉแแแแก แจแแแแฎแแแแแจแ, แแก แแแแแแฎแแ แแ แคแแฅแขแก, แ แแ แแแแฅแแแก แงแแแแ แแแแแแแแแ แ แแงแแแแแก Ubuntu OS-แก. Ubuntu-แแ แแ แแแ แแแ แแแแฎแแแ แแแแแก แแฅแแก ID 1000.
แแแแฅแแก แแแแแแแ?
แฌแแแแแแฎแแ แแแแแ แแก แแแแฃแแแแขแแชแแ. แแ แแแฅแขแ แแฅแขแแฃแ แแ แแแแแ แแแแ, แแชแแแแแ แแแแฃแแแแขแแชแแ. แแ แ-แกแแแ แแแแก แฌแแ แแแฆแแแฃแแ แแแแแชแแแแแ แฃแแแ แแแ-แแแแ แแแซแแแแแแแ.
แแแแแแ แแ แแ แแแแแแ, แ แแแแแแช แฉแแแ แแแแแแฌแงแแแขแแ, แจแแกแแซแแแ แฃแแแ แแแแแแ แแแฃแแแ แกแขแแแแแ แขแฃแแ แกแแจแฃแแแแแแแแ.
แแแแขแแ แแแแแ แฃแคแ แ แจแแ แก แฌแแแแแ แฃแแแ แแแ แแแแแ แแ แแแกแขแ แแ แแแแแ.
แแ แแ แแแแแแแแแ Docker-แแก แฉแแจแแแแแฃแแ แแแฅแแแแแแ แกแแฎแแแแ Docker Swarm, แ แแแแแแช แแแแแแแก แงแฃแแแแแ. แแกแฃแ แก แ แแฆแแชแแก แฌแแ แแแแแ Docker Swarm แขแแฅแแแแแแแแแ แแแคแฃแซแแแแฃแแ แฌแแ แแแแแ.
แฅแแแ แแแแก แแแแขแแแแแ แแแ แฃแฎแแ แฎแฃแแก แฎแแแก แแแ แแแแแ แแฃแจแแแแแก. แแฎแแ แแแ แแแ แแแแแแ แแแฃแแแ. แแกแแแ แแแแแคแแแขแฃแแแ แแแแขแแแแแ แแแจแ. แแ แ-แแ แแ แแแแชแแแแ แแแ แแแขแแ แคแแแกแแก แกแแจแฃแแแแแแ แแฃแ แแแแแแแ แแแกแแฎแแ แฎแแแแแ แฌแแแแแ.
แฌแงแแ แ: www.habr.com