เบเบฒเบกเบเปเบฒเบฎเปเบญเบเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒ, Habr เปเบเปเบชเปเบฒเบเบชเบนเบ เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบเบดเบเบเบตเบเบตเปเบเบฐเบเบฑเบเบงเบฒเบเบชเบดเปเบเบเบดเบกเบเบฑเปเบเบเปเบฒเบญเบดเบเปเบเบกเบฑเบ. เบเบญเบ!
Kubernetes เบเปเบฒเบ. เปเบเบฑเบเบซเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบถเปเบเบเปเบฒเบเปเบเบดเบเปเบซเปเบเปเบญเบเบซเบผเบฒเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเปเบเบเบปเบเปเบเบเบเบตเป, เปเบเบเบฐเบเบฐเบเบตเปเปเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบดเบเปเบฒเบเบฒเบเปเบเบฑเบเปเบเปเบฅเบขเบตเบเบตเปเปเบเปเบงเบฅเบฒเบเบฝเบเปเบเปเบชเบญเบเบชเบฒเบกเบเบปเปเบงเปเบกเบ?
เบเปเบฒเบเปเบฒเบเบชเบปเบเปเบชเบงเปเบฒ Kubernetes เบชเบฒเบกเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเปเปเบง, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบเบฅเบญเบเบกเบฑเบเบเปเบงเบเบเบปเบงเบเปเบฒเบเปเบญเบ. เบเบท, เบกเบตเบเบงเบฒเบกเบเปเบฒเบเบดเบเปเบฒเบเบฒเบเปเบเปเบญเบเบฐเบชเบฒเบเบเบตเป, เบเปเบฒเบเบเบฐเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบญเบตเบเปเบชเปเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเบขเบนเปเปเบเบเบธเปเบก Kubernetes. เบเปเบญเบเบชเบฒเบกเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเปเบเป, เปเบเบฒเบฐเบงเปเบฒเบกเบฑเบเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบเบฝเบงเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบเบตเปเบเบทเบเบเปเบฒเปเบเปเบขเบนเปเบเบตเปเบเบตเปเบเบตเปเบเปเบญเบเบชเบญเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบซเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Kubernetes. เบชเบดเปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเบเปเบฒเปเบเบฐเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฒเบเบเบปเบเบญเบทเปเบ? เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบกเบตเบซเบผเบฒเบเบชเบดเปเบเบซเบผเบฒเบเบขเปเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบงเบเปเบซเบเปเบเบญเบเบญเบธเบเบฐเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบฒเบเบเบฒเบ - เปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบ Kubernetes เปเบฅเบฐเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเปเบฒเบชเบฑเปเบ kubectl. เบเบนเปเบเบฝเบเบเบญเบเปเบญเบเบฐเบชเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเบนเปเบญเปเบฒเบเบเบญเบเบเบงเบเปเบเบปเบฒเบกเบตเบเบงเบฒเบกเบเบธเปเบเปเบเบตเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเปเบฅเบฐ Docker containers. เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบเบเบฒเบเบญเบทเปเบ. เบเปเบฒเบญเบดเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบญเบตเบเปเบชเป microservices เปเบเบเบญเบกเบเบดเบงเปเบเบต. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบฑเบเบเบธเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ microservice. เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบฎเบนเปเบเบฑเบเบเบฑเบ Kubernetes เปเบฅเบฐเปเบเบดเปเบเบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบญเบตเบเปเบชเป microservices เปเบเบเบธเปเบกเบเบตเปเบเบธเปเบกเบเบญเบเปเบเบ Kubernetes.
เบงเบดเบเบตเบเบฒเบเบเบตเป, เบเปเบงเบเบงเบดเบเบตเบเบฒเบเบเปเบญเบเปเบเบฑเบ Kubernetes, เบเบฐเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเปเบเบเบงเบฒเบกเปเบฅเบดเบเบเบญเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบเบเบตเปเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบปเบเบเบปเปเบงเปเบเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบเปเปเบ Kubernetes. Kubernetes เปเบกเปเบเปเบเปเบเบญเบเบงเปเบฒเปเบเบฑเบเปเบเบเปเบเปเบฅเบเบตเบเบตเปเบเปเบฒเบเบเบฒเบ, เบชเบฐเบซเบเบญเบเปเบซเปเบเบนเปเบเบตเปเบเปเบญเบเบเบฒเบเบฎเบฝเบเบฎเบนเปเบกเบฑเบเบฎเบนเปเบงเปเบฒเบกเบฑเบเบเบทเบเบเปเบฒเปเบเปเบขเบนเปเปเบชเปเบฅเบฐเปเบเบงเปเบ.
เบเบฝเบงเบเบตเป, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฐเบเบธเปเบ, เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ.
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบปเบเบฅเบญเบ
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฝเบเปเบเปเบซเบเบถเปเบเบซเบเปเบฒเบเบตเป. เบกเบฑเบเปเบเปเปเบงเบฅเบฒเบซเบเบถเปเบเบเบฐเปเบซเบเบเปเบเบฑเบเบเบฒเบเบเปเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบกเบทเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบก, เบกเบฑเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเบญเบเบเบฐเปเบซเบเบเบเบตเป, เปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเปเบกเบตเบเบเบฑเบเบชเบฐเบเบฐเบเบฐเบเบดเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเบญเบเบเบนเปเบเบฝเบเบเบญเบเบเบฐเปเบซเบเบเบเบฑเบเบเบธเบเบเบฐเบชเบปเบเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบ.
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเปเบญเบเบขเปเบฝเบกเบเบปเปเบเบเปเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒ.

เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบเปเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเบญเบเบเบปเบเปเบฅเบทเปเบญเบ
เบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฐเบเบญเบเบเปเบงเบเบชเบฒเบก microservices, เปเบเปเบฅเบฐเบเบปเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเบชเบฐเปเบเบฒเบฐ:
- SA-Frontend เปเบเบฑเบเปเบเบตเบเปเบงเบตเปเบงเบฑเบ Nginx เบเบตเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบฅเป React เบเบปเบเบเบตเป.
- SA-WebApp เปเบกเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบเบเบตเปเบเบฝเบเปเบ Java เบเบตเปเบเบฐเบกเบงเบเบเบปเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฒเบเบเบฒเบเบซเบเปเบฒ.
- SA-Logic เปเบกเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python เบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเปเบฝเบงเบเบฑเบเบเปเปเบเบงเบฒเบก.
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเบฐเบชเบฑเบเปเบเบเบงเปเบฒ microservices เบเปเปเบกเบตเบขเบนเปเปเบเบเบฒเบเปเบเบเบเปเบฝเบง. เบเบงเบเปเบเบปเบฒเบเบฐเบเบดเบเบฑเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบ "เบเบฒเบเปเบเปเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบ", เปเบเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบเบงเบเปเบเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบปเบงเบเบฑเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ.

เบเปเปเบกเบนเบเปเบซเบผเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ
เปเบเปเบเบเบงเบฒเบเบเปเบฒเบเปเบเบดเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเบฑเปเบเบเบญเบเบเบปเบงเปเบฅเบเบเบญเบเบฅเบฐเบเบปเบ, เบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเปเบซเบฅเบเบญเบเบเปเปเบกเบนเบเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ. เปเบซเปโเปเบฎเบปเบฒโเปเบโเปเบเบดเปเบโเบเบงเบโเปเบเบปเบฒ:
- เบเบปเบงเบเปเบญเบเปเบงเบฑเบเบฎเปเบญเบเบเปเปเบเบฅเปเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ
index.html(เปเบเบดเปเบ, เปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบเบฒเบงเปเบซเบฅเบเบเบธเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React). - เบเบนเปเปเบเปเปเบเปเบเบญเบเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฒเบเปเบเปเบเบซเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบเบเบตเปเบญเบตเบเปเบชเปเบเบฒเบเบฎเบฝเบ spring.
- เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบเบชเบปเปเบเบเปเปเบเปเบฒเบฎเปเบญเบเบเปเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบกเปเบเบซเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python.
- เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python เบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเบญเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบชเบปเปเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบฑเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเบฒเบเบฎเปเบญเบเบเป.
- เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบฎเบฝเบ spring เบชเบปเปเบเบเปเบฒเบเบญเบเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React (เปเบเบดเปเบ, เปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบกเบเบฑเบเบเบนเปเปเบเป).
เบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเบปเบเปเบเป . เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบเบเบฑเบเบฅเบญเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบปเบงเบเปเบฒเบเปเบญเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เปเบเบฒเบฐเบงเปเบฒเบกเบตเบเบฒเบเบเบปเบเบฅเบญเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบเบขเบนเปเบเปเบฒเบเบซเบเปเบฒเบเบงเบเปเบฎเบปเบฒ.
เปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบญเบตเบเปเบชเปเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเบขเบนเปเปเบเปเบเบทเปเบญเบเบเปเบญเบเบเบดเปเบเบเบญเบเบเปเบฒเบ
เปเบเบทเปเบญเปเบซเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบเป, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฅเบตเปเบกเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเบเบฑเบเบชเบฒเบก. เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ cutest เบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฑเบเบซเบกเบปเบ - เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ front-end .
โเบเบฑเปเบเบเปเบฒ React เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเปเบญเบเบเบดเปเบ
เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบเปเบเบฅเบฐเบเบฐเบเบญเบก Node.js เปเบฅเบฐ NPM เปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบเปเบฒเบ. เปเบกเบทเปเบญเบเปเบฒเบเปเบเปเบเบดเบเบเบฑเปเบเบเบฑเบเบซเบกเบปเบเบเบตเป, เปเบเป terminal เปเบเบทเปเบญเบเปเบฒเบเบฒเบเปเบเบซเบฒเปเบเบเปเบเบตเปเบเบเบเบฒเบเบเบญเบเบเปเบฒเบ sa-frontend เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
npm install เปเบเบเบเบฒเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบขเบนเปเปเบเปเบเบเปเบเบต node_modules เบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React เบเบฐเบเบทเบเปเบซเบฅเบ, เบเบฑเบเบเบถเบเบเบตเปเบขเบนเปเปเบเปเบเบฅเป package.json. เปเบกเบทเปเบญ dependencies เบเบทเบเบเบฒเบงเปเบซเบผเบเบขเบนเปเปเบเปเบเบเปเบเบตเบเบฝเบงเบเบฑเบ, เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
npm start เบซเบกเบปเบโเปเบเบปเปเบฒโเบเบตเป. เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React เบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบเปเบเปเปเบเบเบเบฒเบเปเบเบเบตเปเบเบตเปเบขเบนเปเบเปเปเปเบเบเบตเปเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเบเบญเบเบเปเบฒเบ: localhost:3000. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฝเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฅเบฐเบซเบฑเบเบเบญเบเบกเบฑเบ. เบเปเบฒเบเบเบฐเปเบซเบฑเบเบเบปเบเบเบฐเบเบปเบเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเบเบฑเบเบเบต. เบเบตเปเปเบกเปเบเปเบเบฑเบเปเบเปเบเปเบเปเบญเบเบญเบฑเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ "เบฎเปเบญเบ" เบเบฒเบเบเบปเบเปเบเบเบเบญเบเปเบกเบเบนเบ. เบเบตเปเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเปเบฒเบเบซเบเปเบฒเปเบเบฑเบเบเบฐเบชเบปเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบกเบตเบเบงเบฒเบกเบชเบธเบ.
โ เบเบฒเบเบเบฐเบเบฝเบกเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบฅเบดเบ
เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบปเบงเบเบดเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฝเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเบเบธเบเบเบญเบเปเบเบฅเปเบเบปเบเบเบตเปเปเบฅเบฐเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเบเบฑเบเบฅเบนเบเบเปเบฒเบเบตเปเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป.
เปเบเบทเปเบญเบชเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React, เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบเบเปเบเป terminal, เปเบเบซเบฒเปเบเบเปเบเบต sa-frontend เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
npm run build เบเบตเปเบเบฐเบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเปเบเบเปเบเบตเปเบเบเบเบฒเบ build. เบกเบฑเบเบเบฐเบกเบตเปเบเบฅเปเบเบปเบเบเบตเปเบเบฑเบเปเบปเบเบเบตเปเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเปเบซเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React เปเบฎเบฑเบเบงเบฝเบเปเบเป.
โเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบฅเปเบเบปเบเบเบตเปเปเบเบเปเบเป Nginx
เบเปเบฒเบญเบดเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบงเบฑเบเปเบเบเป Nginx. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฒเบงเบเปเปเบซเบฅเบเบกเบฑเบเปเบฅเบฐเบเบญเบเบซเบฒเบเปเบฒเปเบเบฐเบเปเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบดเบเบเบฑเปเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบกเบฑเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบฑเบเบฅเบญเบเปเบเบทเปเบญเปเบเบเบญเบเปเบเบเปเบเบต sa-frontend/build เปเบเบซเบฒเปเบเบเปเบเบต [your_nginx_installation_dir]/html.
เบเปเบงเบเบงเบดเบเบตเบเบฒเบเบเบตเป, เปเบเบฅเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React index.html เบเบฐเบกเบตเบขเบนเป [your_nginx_installation_dir]/html/index.html. เบเบตเปเปเบกเปเบเปเบเบฅเปเบเบตเป, เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ Nginx เบเบฐเบฅเบดเบเปเบกเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบ. เปเบเบตเบเปเบงเบตเบเบทเบเบเบฑเปเบเบเปเบฒเปเบซเปเบเบฑเบเบขเบนเปเปเบเบเบญเบ 80, เปเบเปเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเบเปเบเปเบเบเบฒเบกเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบเบเบฒเบเบเบฑเบเปเบเปเปเบเบฅเป [your_nginx_installation_dir]/conf/nginx.conf.
เปเบเบเบฑเบเบเบธเบเบฑเบเปเบเบตเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเบเบญเบเบเปเบฒเบเปเบฅเบฐเปเบเบเบตเป localhost:80. เบเปเบฒเบเบเบฐเปเบซเบฑเบเบซเบเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React.

เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React เปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ Nginx
เบเปเบฒเบเบญเบเบเบตเปเปเบเบปเปเบฒเปเบชเปเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบชเบฐเบซเบเบฒเบก Type your sentence เปเบฅเบฐเบเบปเบเบเบธเปเบก Send - เบเปเปเบกเบตเบซเบเบฑเบเบเบฐเปเบเบตเบเบเบถเปเบ. เปเบเป, เบเปเบฒเบเปเบฒเบเปเบเบดเปเบ console, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเปเปเบเบงเบฒเบกเบชเบฐเปเบเบเบเปเปเบเบดเบเบเบฒเบเบขเบนเปเบเบตเปเบเบฑเปเบ. เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบเปเบญเบเบเบตเปเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบตเบเบเบถเปเบเปเบเปเป, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบงเบดเปเบเบฒเบฐเบฅเบฐเบซเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ.
โ เบเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฐเบซเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเปเบฒเบเบซเบเปเบฒ
เบฅเบญเบเปเบเบดเปเบเบฅเบฐเบซเบฑเบเปเบเบฅเป App.js, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเบงเปเบฒเบเบฒเบเบเบปเบเบเบธเปเบก Send เปเบเบซเบฒเบงเบดเบเบตเบเบฒเบ analyzeSentence(). เบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบกเปเบเปเบซเปเบเปเบฒเบเบฅเบธเปเบกเบเบตเป. เบเบฐเบฅเบธเบเบฒเบชเบฑเบเปเบเบเบงเปเบฒเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเปเบชเบฑเปเบเบเบตเปเบกเบตเบเปเบฒเปเบซเบฑเบเบเบญเบเปเบเบเบเบญเบก # ะะพะผะตั, เบกเบตเบเปเบฒเบญเบฐเบเบดเบเบฒเบเปเบซเปเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบฅเบฐเบซเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเบฐเบงเบดเปเบเบฒเบฐเบเบดเปเบเบชเปเบงเบเบฅเบฐเบซเบฑเบเบญเบทเปเบเปเปเบเปเบเบเบเบฝเบงเบเบฑเบ.
analyzeSentence() {
fetch('http://localhost:8080/sentiment', { // #1
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
sentence: this.textField.getValue()})// #2
})
.then(response => response.json())
.then(data => this.setState(data)); // #3
}1. URL เบเบตเปเบฎเปเบญเบเบเป POST เปเบกเปเบเปเบฎเบฑเบ. เบกเบฑเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบกเบตเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบขเบนเปเบเบตเปเบเบตเปเบเบฒเบเบงเปเบฒเบเบฐเบกเบตเบเปเบฒเบฎเปเบญเบเบเปเบเบฑเปเบเบเปเบฒเบง.
2.เบฎเปเบฒเบโเบเบฒเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเปเบเปโเบเบทเบโเบชเบปเปเบโเปเบโเบซเบฒโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ. เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเบเบญเบเบฎเปเบฒเบเบเบฒเบ:
{
sentence: "I like yogobella!"
} 3.เปเบกเบทเปเบญเปเบเปเบฎเบฑเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเบฒเบเบฎเปเบญเบเบเป, เบชเบฐเบเบฒเบเบฐเบเบญเบเบญเบปเบเบเบฐเบเบญเบเบเบฐเบเบทเบเบเบฑเบเบเบธเบ. เบเบตเปเปเบฎเบฑเบเปเบซเปเบญเบปเบเบเบฐเบเบญเบเบเบทเบเบชเบฐเปเบเบเบเบทเบเปเบซเบกเป. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบ (เบเบฑเปเบเบเบท, เบงเบฑเบเบเบธ JSON เบเบตเปเบกเบตเบเปเปเบกเบนเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบฐเปเบเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบดเบเปเบฅเป), เบเบงเบเปเบฎเบปเบฒเบเบฐเบญเบญเบเบญเบปเบเบเบฐเบเบญเบ Polarity, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเปเบเบทเปเบญเบเปเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ. เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบญเบฐเบเบดเบเบฒเบเบญเบปเบเบเบฐเบเบญเบ:
const polarityComponent = this.state.polarity !== undefined ?
<Polarity sentence={this.state.sentence}
polarity={this.state.polarity}/> :
null; เบฅเบฐเบซเบฑเบเบเบฐเบเบปเบเบงเปเบฒเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบต. เบญเบฑเบเบเบตเปเปเบกเปเบเบซเบเบฑเบเบเบดเบ? เบเปเบฒเบเปเบฒเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบเบตเปเบขเบนเปเบเบตเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบกเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเป POST, เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเบเบญเบกเบฎเบฑเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบฐเบเบทเบเบเปเบญเบเบขเปเบฒเบเปเบเปเบเบดเบ. เบเบท, เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบฎเปเบญเบเบเปเบเบตเปเปเบเปเบฎเบฑเบเบขเบนเป http://localhost:8080/sentiment, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบเปเบเบเปเปเบเบเบญเบตเบเปเบชเป Spring.

เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบฎเบฝเบ spring เบเบตเปเบชเบฒเบกเบฒเบเบเบญเบกเบฎเบฑเบเบเปเบฒเบฎเปเบญเบเบเป POST
โ เบเบฑเปเบเบเปเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบ Spring
เปเบเบทเปเบญเบเบณเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฒเบเบฎเบฝเบ spring, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฒเบ JDK8 เปเบฅเบฐ Maven เปเบฅเบฐเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบเบทเบเบเบฑเปเบเบเปเบฒเบขเปเบฒเบเบเบทเบเบเปเบญเบ. เปเบกเบทเปเบญเปเบเบปเปเบฒเบเบดเบเบเบฑเปเบเบเบฑเบเปเบปเบเบเบตเปเปเบฅเปเบง, เปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบชเบทเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเป.
โ เบเบฒเบเบซเบธเปเบกเบซเปเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฅเปเบเบฐเบเปเบญเบ
เบเปเบญเบเปเบเบซเบฒ, เปเบเบเปเบเป terminal, เปเบเบซเบฒเปเบเบเปเบเบต sa-webapp เปเบฅเบฐเปเบชเปเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
mvn install เบซเบผเบฑเบเบเบฒเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบขเบนเปเปเบเปเบเบเปเบเบต sa-webapp เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบฐเบเบทเบเบชเปเบฒเบ target. เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Java เบเบฐเบเบฑเปเบเบขเบนเป, เบเบฑเบเบเบธเบขเบนเปเปเบเปเบเบฅเปเบเบฐเบเปเบญเบ, เปเบเบฑเบเบเบปเบงเปเบเบเปเบเบเปเบเบฅเป sentiment-analysis-web-0.0.1-SNAPSHOT.jar.
โ เปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Java
เปเบเบเบตเปเปเบเบเปเบเบต target เปเบฅเบฐเปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jarเบเปเปเบเบดเบเบเบฒเบเบเบฐเปเบเบตเบเบเบทเปเบเปเบเบเบฐเบเบฐเบเบตเปเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบตเป. เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเปเบเบปเบเปเบงเบฑเปเบเปเบเบเปเปเบกเบนเบ stack trace เปเบเป:
Error creating bean with name 'sentimentController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'sa.logic.api.url' in value "${sa.logic.api.url}" เบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ, เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบขเบนเปเบเบตเปเบเบตเปเปเบกเปเบเบเบฒเบเบเปเบฒเบงเปเบเบดเบเบเบงเบฒเบกเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบเบตเปเปเบเบเบเบงเบฒเบกเบซเบกเบฒเบ sa.logic.api.url. เบเปเปเบซเปเบงเบดเปเบเบฒเบฐเบฅเบฐเบซเบฑเบเบเบตเปเบเปเปเบเบดเบเบเบฒเบเปเบเบตเบเบเบทเปเบ.
โ เบเบฒเบเบงเบดเปเบเบฒเบฐเบฅเบฐเบซเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Java
เบเบตเปเปเบกเปเบ snippet เบฅเบฐเบซเบฑเบเบเบตเปเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบตเบเบเบถเปเบ.
@CrossOrigin(origins = "*")
@RestController
public class SentimentController {
@Value("${sa.logic.api.url}") // #1
private String saLogicApiUrl;
@PostMapping("/sentiment")
public SentimentDto sentimentAnalysis(
@RequestBody SentenceDto sentenceDto)
{
RestTemplate restTemplate = new RestTemplate();
return restTemplate.postForEntity(
saLogicApiUrl + "/analyse/sentiment", // #2
sentenceDto, SentimentDto.class)
.getBody();
}
}- เปเบ S
entimentControllerเบกเบตเบเบฒเบเบชเบฐเบซเบเบฒเบกsaLogicApiUrl. เบเปเบฒเบเบญเบเบกเบฑเบเบเบทเบเบฅเบฐเบเบธเปเบเบเบเบฑเบเบชเบดเบsa.logic.api.url. - เบชเบฒเบ
saLogicApiUrlconcatenates เบเบฑเบเบกเบนเบเบเปเบฒ/analyse/sentiment. เบเบงเบเปเบเบปเบฒเบฎเปเบงเบกเบเบฑเบเบชเปเบฒเบเบเบตเปเบขเบนเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบซเบฒ microservice เบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบก.
โเบเปเบฒเบเบปเบเบกเบนเบเบเปเบฒเบเบฑเบเบชเบดเบ
เปเบเบเบฒเบเบฎเบฝเบ spring, เปเบซเบผเปเบเบกเบฒเบเบเบฐเบเบฒเบเบเบญเบเบกเบนเบเบเปเบฒเบเบฑเบเบชเบดเบเปเบกเปเบเปเบเบฅเป application.properties, เบเบถเปเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเปเบเบตเป sa-webapp/src/main/resources. เปเบเปเบเบฒเบเบเปเบฒเปเบเปเบเบญเบเบกเบฑเบเบเปเปเปเบกเปเบเบงเบดเบเบตเบเบฝเบงเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบกเบนเบเบเปเบฒเบเบฑเบเบชเบดเบ. เบเบตเปเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=WHAT.IS.THE.SA.LOGIC.API.URLเบกเบนเบเบเปเบฒเบเบญเบเบเบฑเบเบชเบดเบเบเบตเปเบเบงเบเบเบตเปเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python เบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบกเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบ Spring เบเปเบญเบเบเบตเปเบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบก.
เปเบเบทเปเบญเบเปเปเปเบซเปเบเบตเบงเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเบฑเบเบชเบปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบชเบดเบเปเบเบงเปเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python เบเบฐเบกเบตเบขเบนเป localhost:5000 เปเบฅเบฐเปเบซเปเบเบฐเบเบฒเบเบฒเบกเบเปเปเบฅเบทเบกเบเปเบฝเบงเบเบฑเบเบกเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเปเบเบตเบเบเบปเบงเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบฎเบฝเบ spring เบเบฐเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=http://localhost:5000 
เบฅเบฐเบเบปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเปเบฎเบฑเบเปเบกเปเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Python เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฒเบกเบเบตเปเบเบฒเบเปเบงเป.
โ เบเบฑเปเบเบเปเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python
เปเบเบทเปเบญเปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python, เบเปเบฒเบเบเปเบญเบเบกเบต Python 3 เปเบฅเบฐ Pip เบเบดเบเบเบฑเปเบ, เปเบฅเบฐเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเปเบญเบเบเบทเบเบเบฑเปเบเบเปเบฒเบขเปเบฒเบเบเบทเบเบเปเบญเบ.
โ เบเบฒเบเบเบดเบเบเบฑเปเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบช
เปเบเบเบตเปเปเบเบเปเบเบตเปเบเบเบเบฒเบเบเบญเบเบเปเบฒเบ sa-logic/sa เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
python -m pip install -r requirements.txt
python -m textblob.download_corporaโ เปเบเบตเบเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบ dependencies, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบกเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ:
python sentiment_analysis.pyเบซเบผเบฑเบเบเบฒเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบทเบเบเบญเบเบเปเปเปเบเบเบตเป:
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบกเปเบเปเบฅเปเบเปเบฅเบฐเบฅเปเบเปเบฒเบเบฒเบเบฎเปเบญเบเบเปเบขเบนเปเบเบตเป localhost:5000/
โ เบเบฒเบเบเบปเปเบเบเบงเปเบฒเบฅเบฐเบซเบฑเบ
เบฅเบญเบเปเบเบดเปเบเบฅเบฐเบซเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบงเปเบฒเบกเบฑเบเบเบญเบเบชเบฐเปเบญเบเบเปเปเบเบฒเบเบฎเปเบญเบเบเปเปเบเบงเปเบ:
from textblob import TextBlob
from flask import Flask, request, jsonify
app = Flask(__name__) #1
@app.route("/analyse/sentiment", methods=['POST']) #2
def analyse_sentiment():
sentence = request.get_json()['sentence'] #3
polarity = TextBlob(sentence).sentences[0].polarity #4
return jsonify( #5
sentence=sentence,
polarity=polarity
)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000) #6- เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบงเบฑเบเบเบธ
Flask. - เบเบฒเบเบฅเบฐเบเบธเบเบตเปเบขเบนเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบฎเปเบญเบเบเป POST เบเบฑเบเบกเบฑเบ.
- เบเบถเบเปเบญเบปเบฒเบเบฑเบเบชเบดเบ
sentenceเบเบฒเบโเบญเบปเบโเบเบฒเบโเบฎเปเบญเบโเบเปโ. - เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบงเบฑเบเบเบธเบเบตเปเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเป
TextBlobเปเบฅเบฐเปเบเปเบฎเบฑเบเบกเบนเบเบเปเบฒpolarityเบชเปเบฒเบฅเบฑเบเบเบฐเปเบซเบเบเบเปเบฒเบญเบดเบเบเบตเปเปเบเปเบฎเบฑเบเบขเบนเปเปเบเบฎเปเบฒเบเบเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบเป (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบตเปเปเบกเปเบเบเบฐเปเบซเบเบเบเบฝเบงเบเบตเปเบเบทเบเบชเบปเปเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐ). - เบเบฑเบเบเบทเบเบเปเบฒเบเบญเบเบเบตเปเบฎเปเบฒเบเบเบฒเบเบเบฐเบเบญเบเบเปเบงเบเบเปเปเบเบงเบฒเบกเบเบญเบเบเบฐเปเบซเบเบเปเบฅเบฐเบเบปเบงเบเบตเปเบงเบฑเบเบเบฒเบเบเบดเบเปเบฅเปเบชเปเบฒเบฅเบฑเบเบกเบฑเบ
polarity. - เปเบเบตเบเบเบปเบงเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Flask, เปเบเบดเปเบเบเบฐเบกเบตเบขเบนเป
0.0.0.0:5000(เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบเปเบเปเปเบเบเปเบเปเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบเบเบญเบกlocalhost:5000).
เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเบเบตเปเบเบฐเบเบญเบเปเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบณเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเป. เปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบทเบเบเบฑเบเปเบเบทเปเบญเบเบปเบงเบเบฑเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบเบงเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเป.

เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบเบฅเบฐเบเบฒเบเบเบฑเบเปเบปเบเบเบตเปเบเบฐเบเบญเบเปเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบทเบเบเบณเปเบเบชเบนเปเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ
เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบญเบเบเบตเปเบเปเบฒเบเบเบฐเบชเบทเบเบเปเป, เปเบเบตเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React เบเบญเบเบเปเบฒเบเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเปเบเบเบเบฒเบเบเบฐเปเบซเบเบเบเบฑเบเบกเบฑเบ. เบเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบทเบเปเบฎเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ - เบซเบผเบฑเบเบเบฒเบเบเบปเบเบเบธเปเบก Send เบเปเบฒเบเบเบฐเปเบซเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเปเปเบเบงเบฒเบก.
เปเบเบเบฒเบเบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ microservices เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบ Docker containers. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเบเบฐเบเบฝเบกเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบเบธเปเบก Kubernetes.
Docker containers
เปเบเบฑเบเบฅเบฐเบเบปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบฒเบเบเบณเปเบเป, เบเบฒเบเบเบฐเบซเบเบฒเบ เปเบฅเบฐ เบเบฒเบเบเบฑเบเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฑเบเบเบธเบเบฑเบเบเบธ. เบกเบฑเบเบเบทเบเปเบญเบตเปเบเบงเปเบฒ "เบเบฑเบเบเบปเบเบเบตเบเบนเปเบเบญเบเปเบเบเปเบเบต". เบเปเบฒ Kubernetes เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบนเปเบเบญเบเปเบเบเปเบเบต, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบญเบเบเบตเปเบเบฐเปเบเปเบฅเบฐเบเบปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบญเบดเบเบเบตเปเบเบฐเปเบเปเปเบญเบปเบฒเบเบฑเบเบเบธเปเบซเบผเบปเปเบฒเบเบตเป. เปเบเปเบเปเบฒเบญเบดเบ, เปเบซเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบเบฑเบเบเบธเปเบกเปเบ. เบเบฒเบเบเบตเบเปเบฒเบเบญเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบฒเบกเบเบญเบเบชเบดเปเบเบเบตเปเบกเบฑเบเปเบกเปเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเปเปเบ เปเบเบดเบ Docker:
เบฎเบนเบเบเบฒเบเบเบญเบเปเบเบเปเบเบตเปเบกเปเบเปเบเบฑเบเปเบเบเบเบตเปเบกเบตเบเปเบณเปเบฑเบเปเบเบปเบฒ, เบกเบตเบขเบนเปเปเบเบเบปเบงเบกเบฑเบเปเบญเบ, เปเบฅเบฐเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเป เปเบเบดเปเบเบเบฐเบเบญเบเบเปเบงเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเบฐเบเบญเบเบกเบตเบเบธเบเบขเปเบฒเบเบเบตเปเบเบณเปเบเบฑเบเปเบเบทเปเบญเปเบเปเบเบฒเบเบกเบฑเบ: เบฅเบฐเบซเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเปเบฅเปเบ, เปเบเบทเปเบญเบเบกเบทเบฅเบฐเบเบปเบ เปเบฅเบฐ เบซเปเบญเบเบชเบฐเปเบธเบ, เปเบฅเบฐ เบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบเป. เปเบเบฃเปเบเบฃเบกเบเบตเปเบกเบตเบเบญเบเปเบเบเปเบเบตเบชเบฒเบกเบฒเบเปเบเปเปเบเปเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเปเบฒเบเป. Linux ะธ Windows, เปเบฅเบฐ เบเบงเบเบกเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฝเบงเบเบฑเบเบชเบฐเปเปเบตเปเบเบเบเปเปเบเปเบฒเบเบถเบเปเบเบดเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบ.
เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฑเบเบเบธเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบเปเปเบเบฒเบก, เบฅเบงเบกเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบเบฐเบฅเบดเบ, เปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบกเบตเบขเบนเปเปเบเบเบงเบเบกเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฝเบงเบเบฑเบเปเบเบเบธเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก.
เปเบเบทเปเบญเบชเบณเบซเบผเบงเบเบเบธเบเบชเบปเบกเบเบฑเบเบเบญเบเบเบฑเบเบเบฑเบเบเบธ เปเบฅเบฐเบเบฝเบเบเบฝเบเบเบงเบเบกเบฑเบเบเบฑเบเบงเบดเบเบตเบญเบทเปเบเปเบเบเบฒเบเบเบณเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เปเบซเปเปเบเบดเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React เปเบเบเปเบเปเปเบเบทเปเบญเบ virtual เปเบฅเบฐเปเบเบทเปเบญเบเบเบฑเบเบเบธ.
โ เบเบฒเบเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบฅเปเบเบปเบเบเบตเปเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React เปเบเบเปเบเปเปเบเบทเปเบญเบเบชเบฐเปเปเบทเบญเบ
เบเบฐเบเบฒเบเบฒเบกเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบญเบเปเบเบฅเปเบเบปเบเบเบตเปเปเบเบเปเบเป virtual machines, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบปเบเบเปเปเปเบชเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- เบเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเปเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ, เบเบฑเบเบเบฑเปเบเปเบเปเปเบเบทเปเบญเบเบเบฑเบ virtual เปเบเปเบฅเบฐเบเบปเบเปเบกเปเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเปเบเบฑเบกเปเบเบเปเบงเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบ.
- เบเบฒเบเบเบทเปเบเบเบฑเบเปเบงเบเบต. เบชเบดเปเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบเบญเบกเบเบดเบงเปเบเบตเบเปเบญเบเบเบดเปเบเบญเบฒเบเบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบเบฐเบฅเบดเบ.
- เบเบฒเบเบเบฑเบเบเบฐ เปเบฒเบ เบเปเบฒเปเบฅเบฐเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเบงเบดเบเบตเปเบเปเปเบเบเบตเปเบญเบตเบเปเบชเปเปเบเบทเปเบญเบเบเบฑเบเบชเบฐเปเปเบทเบญเบ.

เปเบเบตเบเปเบงเบตเปเบงเบฑเบ Nginx เปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบฅเปเบเบปเบเบเบตเปเบเบตเปเปเบฅเปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเบชเบฐเปเปเบทเบญเบ
เบเปเบฒเปเบเบทเปเบญเบเบเบฑเบเบเบธเบเบทเบเปเบเปเปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบเบเบฒเบเบเบฝเบเบเบฝเบเบเบฑเบเปเบเบทเปเบญเบ virtual, เบเบงเบฒเบกเปเบเบฑเปเบกเปเบเบเบเปเปเปเบเบเบตเปเบชเบฒเบกเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบ:
- เบเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ: เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบเปเบเป Docker.
- เปเบงเบเบตเปเบญเบเบฐเบฅเบฒเบ. เบเบนเปเบเบญเบเปเบเบเปเบเบตเบเบตเปเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฒเบกเบฒเบเปเบฅเปเบเบขเบนเปเปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบฅเบฒเบงเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบธเบเบเปเบญเบ.
- เบเบฒเบเปเบเปเบเปเปเบฒเบซเบเบฑเบเปเบเบปเบฒเปเบเบเบเปเบฒเบเบเบฒเบเบเปเบฒเปเบเปเบเบฑเปเบเบฎเบนเบเบเบฒเบ.

เปเบเบตเบเปเบงเบตเปเบงเบฑเบ Nginx เปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบฅเปเบเบปเบเบเบตเปเบเบตเปเปเบฅเปเบเบขเบนเปเปเบเบเบฑเบ
เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเบฝเบเบเบฝเบเปเบเบทเปเบญเบเบเบฑเบ virtual เปเบฅเบฐเบเบนเปเบเบญเบเปเบเบเปเบเบตเปเบเบเบฒเบเบเบธเบ, เปเบเปเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบตเปเปเบกเปเบเบเบฝเบเบเปเบเบตเปเบเบฐเบกเบตเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเปเบเบฑเปเบกเปเบเบเบเบญเบเบเบฑเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบ Docker containers.
โ เบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบฑเบเบเบธเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React
เปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบ Docker container เปเบกเปเบเปเบเบฅเป Dockerfile. เปเบเบเบญเบเบเบปเปเบเบเบญเบเปเบญเบเบฐเบชเบฒเบเบเบตเป, เบเบฑเบเบเบถเบเปเบกเปเบเปเบฎเบฑเบเบเบฒเบเบฎเบนเบเบเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบตเบฅเปเบฒเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบตเปเบเบตเปเบเบญเบเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบเบเบนเปเบเบญเบเปเบเบเปเบเบตเบเบตเปเบเบฐเบเบญเบเบชเบฐเบซเบเบญเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเปเบเปเบเบญเบ.
เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเบฅเป Dockerfile, เปเบซเปเบเบทเปเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเปเบเบทเปเบญเบเบฐเบเบฝเบกเปเบเบฅเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React เบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบฑเบเปเบซเบฅเบเปเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ Nginx:
- เบเบฒเบเบชเปเบฒเบเบเบธเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ React (
npm run build). - เบเบณเบฅเบฑเบเปเบฅเบตเปเบกเปเบเบตเบเปเบงเบต Nginx.
- เบเบฑเบเบฅเบญเบเปเบเบทเปเบญเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบต
buildเบเบฒเบเปเบเบเปเบเบตเปเบเบเบเบฒเบsa-frontendเปเบเบเบตเปเปเบเบเปเบเบตเปเบเบตเบเปเบงเบตnginx/html.
เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเบฐเบซเบเบฒเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบชเปเบฒเบ container เปเบฅเบฐเบเบฑเปเบเบเบญเบเบเปเบฒเบเปเบเบดเบเบเบตเปเบเบฐเบเบดเบเบฑเบเปเบเบเบญเบกเบเบดเบงเปเบเบตเบเปเบญเบเบเบดเปเบเบเบญเบเบเปเบฒเบ.
โ เบเบณเบฅเบฑเบเบเบฐเบเบฝเบก Dockerfile เบชเบณเบฅเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ SA-Frontend
เบเปเบฒเปเบเบฐเบเปเบฒเบเบตเปเบเบฐเบเบฑเบเบเบธเบขเบนเปเปเบ Dockerfile เบชเบณ เบฅเบฑเบเบเบฒเบเบชเบฐ เปเบฑเบ SA-Frontend, เบเบฐเบเบญเบเบเปเบงเบเบเบฝเบเปเบเปเบชเบญเบเบเบตเบก. เบเบงเบฒเบกเบเบดเบเปเบฅเปเบงเปเบกเปเบเบงเปเบฒเบเบตเบกเบเบฒเบเบเบฑเบเบเบฐเบเบฒ Nginx เปเบเปเบเบฐเบเบฝเบกเบเบทเปเบเบเบฒเบ เบชเปเบฒเบฅเบฑเบ Nginx, เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบเบทเปเบญเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเบตเปเปเบกเปเบเบชเบญเบเบเบฑเปเบเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบญเบฐเบเบดเบเบฒเบ:
- เบเบทเปเบเบเบฒเบเบเบญเบเบฎเบนเบเบเบฒเบเบเบงเบเบเบฐเปเบเบฑเบเบฎเบนเบเบเบฒเบ Nginx.
- เปเบเบทเปเบญเปเบเปเบเบเปเบเบต
sa-frontend/buildเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบฑเบโเบฅเบญเบโเปเบโเปเบโเปเบเบโเปเบเบตโเบฎเบนเบโเบเบฒเบโnginx/html.
เบเปเบฒเบเปเบฒเบเปเบเบเบฒเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบตเปเปเบเบซเบฒเปเบเบฅเป Dockerfile, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
FROM nginx
COPY build /usr/share/nginx/html เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบขเบนเปเบเบตเปเบเบตเปเปเบกเปเบเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ, เปเบฅเบฐเปเบเบทเปเบญเปเบเบเบญเบเปเบเบฅเปเปเบเบดเบเปเบกเปเบเบงเปเบฒเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเปเปเบฅเบฐเปเบเบปเปเบฒเปเบเปเบเป. เปเบเบฅเปเบเบตเปเบเบญเบเบฅเบฐเบเบปเบเบเบตเปเบเบฐเปเบญเบปเบฒเบฎเบนเบเบเบฒเบ nginx เบเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบเบกเบฑเบ, เปเบฅเบฐเบเบฑเบเบฅเบญเบเปเบเบทเปเบญเบซเบฒเบเบญเบเปเบเปเบฅเบเบฐเบเปเบฅเบต build เปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบต nginx/html.
เปเบเบเบตเปเบเบตเปเบเปเบฒเบเบญเบฒเบเบเบฐเบกเบตเบเปเบฒเบเบฒเบกเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบตเปเบเปเบญเบเบฎเบนเปเบงเปเบฒเบเปเบญเบเปเบเปเบเปเบเบตเปเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบเบเบฑเบเบฅเบญเบเปเบเบฅเปเบเบฒเบเปเบเบเปเบเบต build, เบเบฑเปเบเปเบกเปเบ, เบเปเบญเบเบเบตเปเปเบชเบฑเปเบเบเบฒเบเบกเบฒเบเบฒเบ /usr/share/nginx/html. เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเปเปเบกเบตเบซเบเบฑเบเบชเบฑเบเบชเบปเบเบขเบนเปเบเบตเปเบเบตเป. เบเบงเบฒเบกเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเปเบกเบนเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบชเบฒเบกเบฒเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบ เบฎเบนเบเบเบฒเบ.
โ เบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบฅเบฐเบญเบฑเบเปเบซเบฅเบเบกเบฑเบเปเบชเปเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ
เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบฎเบนเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบฎเบนเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบธเบเบเบฑเบเปเบซเปเบกเบฑเบเบเบฑเบ repository เบฎเบนเบเบเบฒเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบงเบเบตเบเบฒเบเปเบฎเบเบฎเบนเบเบเบฒเบเปเบกเบเบเบฃเบต Docker Hub. เปเบเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- เบเบดเบเบเบฑเปเบ .
- เบฅเบปเบเบเบฐเบเบฝเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป Docker Hub.
- เปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบเบเบฑเบเบเบตเบเบญเบเบเปเบฒเบเปเบเบเบเบฒเบเปเบฅเปเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเปเบขเบนเปเปเบ terminal:
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเป terminal เปเบเบทเปเบญเปเบเบเบตเปเปเบเปเบฅเบเบฐเบเปเบฅเบต sa-frontend เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเปเบขเบนเปเบเบตเปเบเบฑเปเบ:
docker build -f Dockerfile -t $DOCKER_USER_ID/sentiment-analysis-frontend . เบเบตเปเบเบตเปเปเบฅเบฐเบเปเปเปเบเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ $DOCKER_USER_ID เบเบงเบเบเบทเบเปเบเบเบเบตเปเบเปเบงเบเบเบทเปเบเบนเปเปเบเป Docker Hub เบเบญเบเบเปเบฒเบ. เบเบปเบงเบขเปเบฒเบ, เบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบญเบฒเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป: rinormaloku/sentiment-analysis-frontend.
เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเปเบฒเบชเบฑเปเบเบเบตเปเบชเบฒเบกเบฒเบเบชเบฑเปเบเปเบเบเบเบฒเบเบเบญเบเบญเบญเบเบเบฒเบเบกเบฑเบ -f Dockerfile, เปเบเบทเปเบญเบเบเบฒเบเปเบเบฅเปเบเบตเปเบกเบตเบขเบนเปเปเบเปเบเบเปเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบตเป.
เปเบเบทเปเบญเบชเบปเปเบเบฎเบนเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบฎเบนเบเปเบเบซเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
docker push $DOCKER_USER_ID/sentiment-analysis-frontendเบซเบผเบฑเบเบเบฒเบเปเบฎเบฑเบเบชเบณเปเบฅเบฑเบเปเบฅเปเบง, เปเบซเปเบเบงเบเปเบเบดเปเบเบฅเบฒเบเบเบทเปเบเบญเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบญเบเบเปเบฒเบเปเบ Docker Hub เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบฒเบเบญเบฑเบเปเบซเบฅเบเบฎเบนเบเบเบฒเบเปเบเปเบชเปเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฅเบฒเบงเบชเบณเปเบฅเบฑเบเบซเบผเบทเบเปเป.
โเปเบฅเปเบเบเบนเปเบเบญเบเปเบเบเปเบเบต
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบธเบเบเบปเบเบชเบฒเบกเบฒเบเบเบฒเบงเบเปเปเบซเบฅเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบฎเบนเบเบเบฒเบ, เปเบญเบตเปเบเบงเปเบฒ $DOCKER_USER_ID/sentiment-analysis-frontend. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
docker pull $DOCKER_USER_ID/sentiment-analysis-frontend
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend เปเบเบเบฑเบเบเบธเบเบฑเบเบเบนเปเบเบญเบเปเบเบเปเบเบตเบเปเบฒเบฅเบฑเบเปเบฅเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบทเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบญเบทเปเบเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ. เปเบเปเบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบทเบเบเปเป, เปเบซเปเปเบเบปเปเบฒเปเบเบเบฒเบเบญเบญเบเปเบเบ 80:80, เปเบเบดเปเบเบเบฒเบเบปเบเบขเบนเปเปเบเบเปเบฒเบชเบฑเปเบเปเบเบตเบเบเบปเบงเบฎเบนเบเบเบฒเบเปเบฅเบฐเบญเบฒเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบชเบฑเบเบชเบปเบ.
- เปเบฅเบ เบเบณ เบญเบดเบ
80โ เบเบตเปโเปเบกเปเบโเปเบฅเบโเบเบญเบโเปเบกเปโเบเปเบฒเบ (เบเบฑเปเบโเปเบกเปเบโ, เบเบญเบกโเบเบดเบงโเปเบเบตโเบเปเบญเบโเบเบดเปเบโ)โ. - เบเบปเบงเปเบฅเบเบเบตเบชเบญเบ
80เปเบกเปเบเบเปเบฒเปเบฎเบทเบญเบเบญเบเบเบฑเบเบเบตเปเบเปเบฒเบฎเปเบญเบเบเปเบเบงเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเบปเปเบเบเปเป.
เบเบดเบเบฒเบฅเบฐเบเบฒเบเบปเบงเบขเปเบฒเบเบเปเปเปเบเบเบตเป.

เบเบฒเบเบชเบปเปเบเบเปเปเบเบญเบ
เบฅเบฐเบเบปเบเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฒเบเบเบญเบ <hostPort> เปเบเบเบตเปเบเปเบฒเปเบฎเบทเบญ <containerPort>. เบเบฑเปเบเปเบกเปเบ, เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเบฒเปเบฎเบทเบญ 80 เบเบญเบกเบเบดเบงเปเบเบตเบเบทเบเปเบญเบเปเบเบซเบฒเบเบญเบ 80 เบเบฑเบเบเบธ.
เบเบฑเปเบเปเบเปเบเปเบฒเปเบฎเบทเบญ 80 เปเบเบตเบเบขเบนเปเปเบเบเบญเบกเบเบดเบงเปเบเบตเบเปเบญเบเบเบดเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบเบญเบกเบเบดเบงเปเบเบตเบเบตเปเบขเบนเปเบเบตเป localhost:80. เบเปเบฒเบฅเบฐเบเบปเบเบเบญเบเบเปเบฒเบเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Docker, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเปเบเบทเปเบญเบ virtual Docker, เบเบตเปเบขเบนเปเบเบญเบเบกเบฑเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒ. <docker-machine ip>:80. เปเบเบทเปเบญเบเบญเบเบซเบฒเบเบตเปเบขเบนเป IP เบเบญเบเปเบเบทเปเบญเบ virtual Docker, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบ docker-machine ip.
เปเบเบเบธเบเบเบตเป, เบซเบผเบฑเบเบเบฒเบเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเบเปเบญเบเบเบฑเบเบเบธเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเปเบฒเบเบซเบเปเบฒ, เบเปเบฒเบเบเบงเบเบเบฐเบชเบฒเบกเบฒเบเปเบเบตเบเบซเบเปเบฒเบเบญเบเบกเบฑเบเบขเบนเปเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบ.
โเปเบเบฅเป .dockerignore
เบเบฒเบโเปเบเบฑเบโเบเปเบฒโเบฎเบนเบโเบเบฒเบโเบเบญเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ SA-Frontend, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบเบฒเบเปเบเบฑเบเบเปเบฒเบเบตเปเบชเบธเบ. เบญเบฑเบเบเบตเปเปเบเบตเบเบเบถเปเบเปเบเบฒเบฐเบงเปเบฒ เบเปเบฅเบดเบเบปเบเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเปเบญเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒ Docker daemon. เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบเบฒเบเบชเปเบฒเบเบเปเบฅเบดเบเบปเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบฑเบเบญเบฒเบเบดเบงเปเบกเบฑเบเบชเบธเบเบเปเบฒเบเบเบญเบเบเปเบฒเบชเบฑเปเบ docker build. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบกเบตเบเบธเบเบขเบนเปเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเป. เบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบเบชเปเบฒเบเบเปเปเปเบเบเบตเปเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบชเบฐเบเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบ:
sa-frontend:
| .dockerignore
| Dockerfile
| package.json
| README.md
+---build
+---node_modules
+---public
---src เปเบเปเปเบเบเบธเบเปเบเบเปเบเบตเบเบตเปเบชเบฐเปเบเบเบขเบนเปเบเบตเปเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฝเบเปเบเปเปเบเบเปเบเบตเปเบเบปเปเบฒเบเบฑเปเบ build. เบเบฒเบเปเบซเบผเบเบชเบดเปเบเบญเบทเปเบเปเบกเปเบเปเบชเบเปเบงเบฅเบฒ. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบฑเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบเบเบฒเบเบเบญเบ Docker เบงเปเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเบเบตเปเบเบฐเบเปเปเบชเบปเบเปเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบฅเป .dockerignore. เบเปเบฒเบ, เบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเบฒเบเบกเบตเบเบงเบฒเบกเบเบธเปเบเปเบเบตเบเบเบฑเบเปเบเบฅเป .gitignore, เปเบเบเบชเปเบฒเบเบเบญเบเปเบเบฅเปเบเบตเปเบญเบฒเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบเบธเปเบเปเบเบตเบ. เบกเบฑเบเบฅเบฒเบเบเบทเปเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบฅเบฐเบเบปเบเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบชเบฒเบกเบฒเบเบฅเบฐเปเบฅเบตเบ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบทเปเบญเปเบเบเบญเบเปเบเบฅเปเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒ:
node_modules
src
public เปเบญเบเบฐเบชเบฒเบ .dockerignore เบเปเบญเบเบขเบนเปเปเบเปเบเบเปเบเบตเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเบฅเป Dockerfile. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบฐเปเบเปเปเบงเบฅเบฒเบเปเปเปเบเบปเปเบฒเปเบเบงเบดเบเบฒเบเบต.
เบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเบงเบฝเบเบเปเบฝเบงเบเบฑเบเบฎเบนเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Java.
โ เบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบฑเบเบเบธเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Java
เปเบเบปเปเบฒเบฎเบนเปเบซเบเบฑเบ, เบเปเบฒเบเปเบเปเบฎเบฝเบเบฎเบนเปเบเบธเบเบขเปเบฒเบเบเบตเปเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบเบฎเบนเปเปเบเบทเปเบญเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบฑเบเบเบธ. เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเบงเปเบฒเบเบฒเบเบเบตเปเบเบฐเบชเบฑเปเบเบซเบผเบฒเบ.
เปเบเบตเบเปเบเบฅเป Dockerfileเปเบเบดเปเบเบขเบนเปเปเบเปเบเบเปเบเบตเปเบเบเบเบฒเบ sa-webapp. เบเปเบฒเบเปเบฒเบเบญเปเบฒเบเบเปเปเบเบงเบฒเบกเบเบญเบเปเบเบฅเปเบเบตเป, เบเปเบฒเบเบเบฐเปเบซเบฑเบเบเบฝเบเปเบเปเบชเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบซเบกเปเปเบเบกเบฑเบ, เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเปเบฒเบชเปเบฒเบเบฑเบ ENV ะธ EXPOSE:
ENV SA_LOGIC_API_URL http://localhost:5000
โฆ
EXPOSE 8080 เบเปเบฒเบชเปเบฒเบเบฑเบ ENV เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเบฐเบเบฒเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเปเบ Docker containers. เปเบเบเบชเบฐเปเบเบฒเบฐ, เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบกเบฑเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบฅเบฐเบเบธ URL เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบ API เบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบก.
เบเปเบฒเบชเปเบฒเบเบฑเบ EXPOSE เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเบญเบ Docker เปเบซเปเปเบเบตเบเบเบญเบ. เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบเบญเบเบเบตเปเปเบเบเบฐเบเบฐเบเบตเปเปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ. เบเบตเปเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเปเบ Dockerfile เบชเบณ เบฅเบฑเบเบเบฒเบเบชเบฐ เปเบฑเบ SA-Frontend เบเปเปเบกเบตเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเปเบฒเบง. เบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเปเบญเบเบฐเบชเบฒเบ, เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบญเบทเปเบเป, เบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเปเบกเปเบเบกเบตเบเบธเบเบเบฐเบชเบปเบเบชเปเบฒเบฅเบฑเบเบเบนเปเบเบตเปเบเบฐเบญเปเบฒเบ Dockerfile.
เบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบฅเบฐเบเบนเปเบกเบฑเบเปเบเบซเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบทเบเบฑเบเบเบฑเบเปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ. เบเปเบฒเบเปเบฒเบเบเบฑเบเบเปเปเบซเบกเบฑเปเบเปเบเปเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบเปเบฒเบ, เบเปเบฒเบชเบฑเปเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเปเปเบเปเบเบฅเป README.md เปเบเปเบเบเปเบเบต sa-webapp.
โ เบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเบเบฑเบเบเบธเบชเปเบฒเบฅเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python
เบเปเบฒเบเปเบฒเบเปเบเบดเปเบเปเบเบทเปเบญเปเบเบเบญเบเปเบญเบเบฐเบชเบฒเบ Dockerfile เปเบเปเบเบเปเบเบต sa-logic, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบฐเบเปเปเบเบปเบเบชเบดเปเบเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเบเบปเบงเบเปเบฒเบเปเบญเบเบขเบนเปเบเบตเปเบเบฑเปเบ. เบเปเบฒเบชเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบฅเบฐเบชเบปเปเบเบกเบฑเบเปเบ repository เบเบงเบเบเบฐเบเบธเปเบเปเบเบตเบเบเบฑเบเบเปเบฒเบเปเบฅเปเบง, เปเบเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบญเบทเปเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเปเบเบฅเป. README.md เปเบเปเบเบเปเบเบต sa-logic.
โ เบเบฒเบเบเบปเบเบชเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเบเบเบธ
เปเบเบปเปเบฒเปเบเบทเปเบญเบเบฒเบเบชเบดเปเบเบเบตเปเปเบเบปเปเบฒเบเปเปเปเบเปเบเบปเบเบชเบญเบเปเบเปเบเป? เบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเบฑเบ. เบกเบฒเบเบปเบเบชเบญเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ.
- เปเบซเปเปเบเบตเบเบเบปเบงเบเบฑเบเบเบธเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ
sa-logicเปเบฅเบฐเบเบฑเปเบเบเปเบฒเบกเบฑเบเปเบเบทเปเบญเบเบฑเบเบขเบนเปเปเบเบเบญเบ5050:docker run -d -p 5050:5000 $DOCKER_USER_ID/sentiment-analysis-logic - เปเบซเปเปเบเบตเบเบเบปเบงเบเบฑเบเบเบธเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ
sa-webappเปเบฅเบฐเบเบฑเปเบเบเปเบฒเบกเบฑเบเปเบเบทเปเบญเบเบฑเบเบขเบนเปเปเบเบเบญเบ8080. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเบซเบเบปเบเบเปเบฒเบเบญเบเบเบตเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Python เบเบฐเบเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Java เปเบเบเบเบฒเบเบกเบญเบเบซเบกเบฒเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบทเบเปเบซเบกเป.SA_LOGIC_API_URL:$ docker run -d -p 8080:8080 -e SA_LOGIC_API_URL='http://<container_ip or docker machine ip>:5000' $DOCKER_USER_ID/sentiment-analysis-web-app
เปเบเบทเปเบญเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบญเบเบซเบฒเบเบตเปเบขเบนเป IP เบเบญเบ Docker container เบซเบผเบท virtual machine, เปเบเบดเปเบเปเบเบฅเป .
เปเบซเปเปเบเบตเบเบเบปเบงเบเบฑเบเบเบธเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ sa-frontend:
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend เปเบเบเบฑเบเบเบธเบเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบฝเบกเบเปเบญเบกเบเบตเปเบเบฐเปเบเบซเบฒเบเบตเปเบขเบนเปเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบ localhost:80 เปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ.
เบเบฐเบฅเบธเบเบฒเบชเบฑเบเปเบเบเบงเปเบฒเบเปเบฒเบเปเบฒเบเบเปเบฝเบเบเบญเบเบชเปเบฒเบฅเบฑเบ sa-webapp, เบซเบผเบทเบเปเบฒเบเปเบฒเบเปเบเป Docker virtual machine, เบเปเบฒเบเบเบฐเบเปเบญเบเปเบเปเปเบเปเบเบฅเป App.js เบเบฒเบเปเบเบเปเบเบต sa-frontendเปเบเบเบเบฒเบเบเปเบฝเบเบเบตเปเบขเบนเป IP เบซเบผเบทเปเบฒเบเปเบฅเบเบเบญเบเปเบเบงเบดเบเบตเบเบฒเบ analyzeSentence(), เบเบฒเบเบเบปเบเปเบเบเบเปเปเบกเบนเบเปเบเบเบฐเบเบธเบเบฑเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเปเบกเบนเบเบฅเปเบฒเบชเบฐเปเบซเบก. เบซเบผเบฑเบเบเบฒเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฐเบเบญเบเบฎเบนเบเบเบฒเบเปเบฅเบฐเบเปเบฒเปเบเปเบกเบฑเบ.
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบเบงเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ.

เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบเบฑเบเบเบธ
เบชเบฐเบซเบผเบธเบ: เปเบเบฑเบเบซเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบธเปเบก Kubernetes?
เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเปเบเปเบเบงเบเบเบฒเปเบเบฅเป Dockerfile, เปเบเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบฅเบฐเบเบธเบเบเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒเปเบเบซเบฒเบเปเบญเบเปเบเบฑเบ Docker. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเปเบฅเบฑเปเบเบเบฒเบเบเบฐเบเบญเบเบฎเบนเบเบเบฒเบเปเบเบเปเบเปเปเบเบฅเป .dockerignore. เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบเบฅเบฐเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบ Docker containers. เปเบเบเบตเปเบเบตเปเบเปเบฒเบเบญเบฒเบเบเบฐเบกเบตเบเปเบฒเบเบฒเบกเบเบตเปเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบเบขเปเบฒเบเบชเบปเบกเบเบนเบเบเปเบฝเบงเบเบฑเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ Kubernetes. เบชเปเบงเบเบเบตเบชเบญเบเบเบญเบเปเบญเบเบฐเบชเบฒเบเบเบตเปเบเบฐเบเบทเบเบญเบธเบเบดเบเปเบซเปเบเบฑเบเบเบฒเบเบเบญเบเบเปเบฒเบเบฒเบกเบเบตเป. เปเบเปเบงเบฅเบฒเบเบตเป, เบเบดเบเบฒเบฅเบฐเบเบฒเบเปเบฒเบเบฒเบกเบเปเปเปเบเบเบตเป:
เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบเปเบเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเปเปเบเบงเบฒเบกเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบเบดเบเบปเบกเบเบปเปเบงเปเบฅเบ. เบซเบผเบฒเบเบฅเปเบฒเบเบเบณเบฎเปเบญเบเบเปเบกเบฒเบซเบฒเบฅเบฒเบงเบเบธเบเบเบฒเบเบต. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ microservices sa-webapp ะธ sa-logic เบเบฐเบขเบนเปเบเบฒเบเปเบเปเบเบฒเบเปเบซเบผเบเบญเบฑเบเปเบซเบเปเบซเบผเบงเบ. เบงเบดเบเบตเบเบฒเบเบเบฐเบซเบเบฒเบเบเบนเปเบเบญเบเปเบเบเปเบเบตเบเบตเปเปเบเป microservices?
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com
