一些改良的點
- 善用collectstatic指令功能收集靜態檔,直接起一隻新的container做這件事然後讓他死掉就好了
- uwsgi改用tcp port 的方式對接,方便nginx對應compose
- 指令使用
docker-compose up -d --scale api=2多起一支就好 晚點給你發pull request 試試看,有興趣就看看吧;)
謝謝提供思路,我會再研究看看,不過你pull request 的這個範例似乎不能執行@@
想請問你有自己run過嘛? 謝謝
另一個問題是,這樣兩個sevice會佔用同一個port(我看你的範例都是 3031),這樣不是會出問題?
uwsgi官方建議用socket的方式連接,想請問用http連接的原因是方便nginx對應compose?
再麻煩解答了,謝謝
在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給我看一下
剛剛可能是我自己有東西弄錯了,抱歉。 可以正常work沒錯~ 這方法真的還不錯~ 感謝指導~ 已將範例整理至 better 分支了