docker-django-nginx-uwsgi-postgres-load-balance-tutorial icon indicating copy to clipboard operation
docker-django-nginx-uwsgi-postgres-load-balance-tutorial copied to clipboard

一些改良的點

Open cropse opened this issue 8 years ago • 3 comments

  1. 善用collectstatic指令功能收集靜態檔,直接起一隻新的container做這件事然後讓他死掉就好了
  2. uwsgi改用tcp port 的方式對接,方便nginx對應compose
  3. 指令使用docker-compose up -d --scale api=2多起一支就好 晚點給你發pull request 試試看,有興趣就看看吧;)

cropse avatar Nov 25 '17 08:11 cropse

謝謝提供思路,我會再研究看看,不過你pull request 的這個範例似乎不能執行@@

想請問你有自己run過嘛? 謝謝

另一個問題是,這樣兩個sevice會佔用同一個port(我看你的範例都是 3031),這樣不是會出問題?

uwsgi官方建議用socket的方式連接,想請問用http連接的原因是方便nginx對應compose?

再麻煩解答了,謝謝

twtrubiks avatar Nov 26 '17 05:11 twtrubiks

在docker之中所有service都是獨立執行的,除非你把port拉出來,才會有衝突的可能,這裡只有nginx需要去拿api的port,所以只要用compose給的container_name,nginx就可以找的到,file base的方法也可以,只是這樣做擴充時有點不方便而已,官方提供的建議如果不是硬性,有時候就會看使用情境。


可能是你先前試的東西沒刪乾淨,先確認一下,fetch的東西可能會因為跟你原先的有重複所以衝突 先把container刪乾淨docker rm -f $(docker ps -aq) 然後docker-compose down -v,因為會暫存你先前跑過的東西在volume,所以也把他給刪光。 之後就是docker-compose build(一定要先做,建立新的image) 確認以上都OK之後,才是使用docker-compose up -d --scale api=2 如果還是不行,在麻煩把執行時的log給我看一下

cropse avatar Nov 26 '17 07:11 cropse

剛剛可能是我自己有東西弄錯了,抱歉。 可以正常work沒錯~ 這方法真的還不錯~ 感謝指導~ 已將範例整理至 better 分支了

twtrubiks avatar Nov 26 '17 07:11 twtrubiks