composeïŒæ£åŒã«ã¯figïŒã®ãŠãŒã¶ãŒãšããŠããããã§ã¹ãïŒyaââmlæ§æãã¡ã€ã«ïŒå ããä»»æã®å®çŸ©ïŒå¥åscaleïŒã«å¯ŸããŠéå§ãããããŒãã®æ°ãæå®ã§ããããã«ããããšæããŸããããã«ãããã¯ã©ã¹ã¿ãŒå®çŸ©ãã§åºè·ã§ããŸããç§ã®ãµãŒãã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã
äŸïŒæ§æïŒ
worker:
build: rqworker
scale: 5
links:
- redis
command: rqworker -u tcp://redis
@jmmills ã
@aanmã¯ãããã ããæ©èœã¯ãµãŒãã¹å®çŸ©ã®ããã©ã«ããšããŠãã©ãŒãªã³ã°ããå¿ èŠããããšæããŸãã ãã¶ããåžžã«å®è¡ããå¿ èŠã®ããæå°éã®ã¯ãŒã«ãŒã»ãããããããããããã©ã«ããšããŠæ確ã«å®£èšããããšæããŸãã
@ @aanm docker-compose up
ãscale
ãã©ã¡ãŒã¿ãèæ
®ã«å
¥ããã¹ãã ãšæããŸããïŒ ç§ãèŠãŠããããã«é¢ããå¯äžã®åé¡ã¯ãåºç€ãšãªãDocker / Docker APIã®æŠå¿µãšã¯äºææ§ããªãããDockerComposeã«éåžžã«åºæã®ãã©ã¡ãŒã¿ãŒã宣èšåæ§æã«å°å
¥ããŠããããšã§ãã
ãããä»åŸè¡ããšãããã ç§ã¯æ¬¡ã®ãããªãã®ãææ¡ããŸãïŒ
#!yaml
worker:
build: rqworker
$scale: 5
links:
- redis
command: rqworker -u tcp://redis
ããã§ã $<parameter>
ã¯ãDockerComposeåºæã®ãã®ã瀺ããŸãã
scale
ãYAMLã«å±ããŠãããã©ãããè¡ã£ããæ¥ããããŸããã 以åã«è¿œå ããPRããããŸããïŒïŒ630ïŒã 移æ€æ§ãäœäžãããããã»ãšãã©ã®äººã¯æ§æã«ã¹ã±ãŒã«çªå·ãå
¥ããã¹ãã§ã¯ãªããšç§ã¯ãŸã èããŠããŸãããããããããã®ãŠãŒã¹ã±ãŒã¹ã¯ç解ããŠããŸãã
Composeãã¡ã€ã«ãextends
æ¡åŒµããåºæ¬çãªæ¹æ³ãã§ããã®ã§ïŒãããŠããŸãããã°ããã«ãã£ãšè¯ããã®-ïŒ1380ãïŒ758ïŒã httpsïŒ//github.com/docker/composeã§ç§ãæèµ·ããæžå¿µ
éåžžã¯éå§ããããªããã¹ãé¢é£ãµãŒãã¹ã®ymlã«scale=0
ãèšå®ããããšæããŸãã ãããã®ãµãŒãã¹ãdocker-compose run
ãŸãã¯æ瀺çãªscale
æ瀺çã«äœæãããã ãã§ãã
@jamshidç§ã¯ãããããæãã§ããŸãããããã¯ãç°å¢ãã»ããã¢ããããããããã©ã«ãã§ã¯å®è¡ãããªãå®çŸ©ã§ãã ç§ã¯ïŒ docker run
ãä»ããŠïŒãŠããããã¹ããå®è¡ããããŒã¹ã€ã¡ãŒãžïŒãŒã/ããŒãªãã¬ãŒã·ã§ã³ã¹ã±ãŒã«ã圹ç«ã¡ãŸãïŒã®äœæã«è¿œãããããŠãããã³ã³ããæ§æã¯ããŒã¹ç»åã
ãã®ãããªãã®ã¯ãéçºæ§æã«éåžžã«åœ¹ç«ã€ããã§ã
myproject:
build: .
command: nosetests
scale: 0
links:
- redis
redis:
image: redis
apiserver:
image: myproject
command: plackup
links:
- redis
workerserver:
image: myproject
command: rqworker
links:
- redis
@jamshid @jmmillsãµãŒãã¹ããšã®YAMLãã¡ã€ã«ã®enabled
ãã©ã¡ãŒã¿ãŒ/ããŒã¯ã©ãã§ããïŒ ãµãŒãã¹ãç¡å¹/æå¹ã«ã§ããããã«ïŒ
@prologic ãã¹ã±ãŒã«ããã©ã¡ãŒã¿ãäž¡æ¹ã®ããŒãºã解決ãã
å®è¡äžã®ããã»ã¹/ã³ã³ãããã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãšããŠæ³åãããå Žåã¯ã instances
ãšããååãä»ããããšãã§ããŸãã
@jmmillsçŸåšã®docker-compose
ãå£ãããšã䌎ããªãããŠãŒã¹ã±ãŒã¹ã®_解決ç_ãèŠã€ããããšããŠããŸãã ç§ã¯scale=0
ãé©åã§ã¯ãªããšæãåŸåãããã scale=X
ãComposeèªäœã®äžéšã«ããå¿
èŠããããã©ããã«ã€ããŠ2ã€ã®èãããããŸãã
ç§ã®æèŠã§ã¯ãã¹ã±ãŒã«ïŒãŸãã¯ã³ããŒæ°ïŒã¯ãµãŒãã¹ã®æ§æã®äžéšã§ãããããæ§æã«å«ããå¿ èŠããããŸãã
scale=0
ãŸãã¯disabled
ããŒããããšæããŸãã
ïŒ+1ïŒã€ã³ã¹ã¿ã³ã¹ã®ããã©ã«ãã®scale
ãµã€ãºãèšå®ããæ©èœãããå Žåã ãããŠãç§ã¯åæããŸããã¹ã±ãŒã«ãå
¥ããšãã¹ã±ãŒã«ã0ã«èšå®ããã ããªã®ã§ã disabled
ããŒã¯å¿
èŠãããŸããã
+1
ãŸããå¥ã®ãŠãŒã¹ã±ãŒã¹ïŒã³ã³ããã®æ°ãã¹ã±ãŒãªã³ã°ããããããã¹ãŠã®ãµãŒãã¹ãããã¯ã°ã©ãŠã³ãã«ããããªãå ŽåããŸãã¯å¥ã®ã¿ãŒããã«ïŒãŸãã¯ããã»ã¹ïŒã«ãžã£ã³ãããŠã¹ã±ãŒã«çªå·ãèšå®ããå¿
èŠãããå Žåã¯ã©ããªããŸãã...
äŸãã°ïŒ
$ docker-compose up && docker scale thing=4
upãçµäºããªããããæ©èœããŸããã
ããããç§ã®æ§æãã¡ã€ã«ãç§ã®ã³ã³ããã®ã¹ã±ãŒã«ãèšå®ããå Žå...
$ docker-compose up
DWIMã«ãªããŸãã
ç§ãæ¬åœã«ããã奜ããã©ããã¯ããããŸããã çªç¶ã®up
ã¯ãã¹ãŠã次ã®2ã€ã®æ©èœãå©çšããŸãã
scale
ãã©ã¡ãŒã¿ãæããªãã³ã³ãããèµ·åããŸããscale=0
ã³ã³ããããã¹ãŠèµ·åããŸããçŸåšããupãã³ãã³ããå®éã«æªçšããŠããŸãã ãã¹ã±ãŒã«ãã¯ãŸãã2ã€ã®ããšãè¡ããšããç¹ã§æ°ããæå³ãæã¡ãŸãã
scale=0
ã³ã³ãã/ãµãŒãã¹ãç¡å¹ã«ããŸããªãscale=0
ã³ã³ãããç«ã¡äžããã®ã§ããããïŒ
Buildã¯ã scale=0
ã䜿çšããŠã€ã¡ãŒãžããã«ããããããããŒã¹ã€ã¡ãŒãžã®å¿
èŠæ§ãé«ãŸããŸãã
ç§ã¯_ééã£ãŠããå¯èœæ§ããããŸã_ããããªãã®æåŸã®ã³ã¡ã³ããèªããšãããã¯äžçš®ã®ããšãæ瀺ããŠããŸã:)
詳ãã説æãããŠãã ããã
base_thing:
build: .
scale: 0
thing:
image: base_thing
# scale: 1 implied by default
workers_for_thing:
image: some_other_image
scale: 4
links:
- thing
test_harness:
image: base_thing
command: nosetests --where=my_test_code_dir --all-modules
scale: 0
ããŠãæåŸ
ãããåäœïŒ docker-compose build
ã¯ããã«ããã§ã³ã³ããããã«ãããŸãïŒãã«ãæã«å€éšã€ã¡ãŒãžããã«ã€ã³ããŸããïŒèŠããŠããŸããïŒã docker-compose up
ã¯æ£ã®ã¹ã±ãŒã«ã§äœã§ãå®è¡ããŸãïŒããã©ã«ãã¯1ïŒã docker-compose run test_harness
ã¯ãå¿
èŠã«å¿ããŠãbase_thingãããã«ããã1ã€ã®ã³ãã³ããå®è¡ããŸãã 粟éããŠããŸããïŒ :)
ç·šéïŒ docker-compose up
ã¯1
"thing"ãš4
"workers_for_thing"ãå®è¡ããŸã
ããããŸãã:)ããããšã; ããªãã®äŸã¯ã scale=0
æå³ã«é¢ããŠãbiãããæå³ããããå°ãæ確ã«ããŸãã
docker-compose
ã¯up
/ run
ç»åããåŒã£åŒµãããšæããŸãã
ãã¹ããçç£ãå質ä¿èšŒãªã©ã®ããã«ããã£ã¹ã¿ã³ã¹ã®æ°ïŒã¹ã±ãŒã«ïŒã瀺ãã¬ã·ããäœæããå¿ èŠããããŸãã
scale=X
å Žå
ãŸãã @ jmmillsã³ã¡ã³ãã®+1ã«ã¯ãæ§æã®èª¬æãšæåŸ
ãããçµæãå«ãŸããŠããŸãã
ããŒãïŒ scale=x
ã ã³ã³ãããŒã®ã»ãããåæåãããšãã¯ã©ã¹ã¿ãŒæ§æãã»ããã¢ãããããšãã«æœåšçãªç«¶åç¶æ
ãç¹å®ããã®ã«ééããªã圹ç«ã¡ãŸãã
+1ã®ããã®scale=x
ïŒãå«ãscale=0
åæã®ããã®ç¡å¹åãµãŒãã¹ã«docker-compose up
ïŒ
scale=x
å Žå
x
ã¯NaN -1
ãææ¡ããŸãã
scale = xã®å Žåã¯+1ã
+1
+1
+1ã§æ¢ããŠã¿ãŸãããïŒ
+ 1'ingã¯ãæ©èœã®é¢å¿ã®ã¬ãã«ã確èªããã®ã«åœ¹ç«ã¡ãŸãã
@shofetimç§ã¯ãããè¡ãããã®ããè¯ãæ¹æ³ãç¥ã£ãŠããŸãïŒåé¡ã®æ©èœãå®è£ ãããã«ãªã¯ãšã¹ããéä¿¡ããŸã...
+1ããããšã¯ãææ¡ããã解決çã«äººã ãåæããããšã確èªããããã®è¯ãæ¹æ³ã§ããããŸãã githubå šäœã§ããªãäžè¬çãªåäœã§ãã ãããåé¡ã§ããå Žåãéç¥ãã賌èªè§£é€ãã¿ã³ãã¯ãªãã¯ãããšããããããªãã«ãªããŸãã
ããŠããããªäººã®ããã§ããã äœæ²ããã¯ãã°ïŒå³ã®æ®ãïŒã«ãåæ§ã®é
ç®ããããŸããããã€ãã³ã¡ã³ããããšæããŸãã ä»å€é
ãã«ãã©ããŒã¢ããããããšæããŸãã
ç§ã¯ä»é±ã®ã»ãšãã©ãPuppetConã«ããã®ã§ãããã¯ã®æéãããã°ããã®ã§ããããããæžãããã©ããã確èªããŸãã
ãscale = 0ããŠãŒã¹ã±ãŒã¹ã®åé¿çã¯æ¬¡ã®ãšããã§ãã
app:
build: .
environment:
- DATABASE_URL=postgres://user:password<strong i="6">@host</strong>:5432/dbname
command: sleep 999999999999
app_web:
extends:
service: app
ports:
- "3000:3000"
command:
# intentionally blank to use Dockerfile's default RUN command
app_worker:
extends:
service: app
command:
rake jobs:work
@wkonkelãããç§ã¯éå»ã«åæ§ã®ããšãããŸããã
ç§ã¯çŸåšãcomposeã³ãŒãããŒã¹ã«æ
£ããããã«åãçµãã§ããŸããcomposeã®ãã¹ãŠãã©ãã«ããããããã£ãããã¹ã±ãŒã«æ§æãã©ã¡ãŒã¿ãŒã®PRãããã¯ããŸãã
ããã»ã©é£ããã¯ãªãããã§ããCLIã€ã³ã¿ãŒãã§ã€ã¹ã®ããã¯ãšã³ãã§ãããããžã§ã¯ãã«ã¯scale
ã¡ãœãããããã®ã§ãå®éã«è¡ãå¿
èŠãããã®ã¯ãã«ãã¹ã±ãŒã«ããè¿œå ããããšã ãã§ãããã£ãŒã«ãã¹ããŒããã³ã³ããã®äœæåŸã«åŒã³åºãããã«ååšããå Žåã¯ç¢ºèªããŠãã ãã...次ã«ããŒãã«èšå®ãããŠããå Žåã¯ã³ã³ãããå®è¡ãããªãããšã確èªããŠãã ããã
å®éãããã«ã¯æ¬åœã«å€ãPRãéãããŠããŸãïŒïŒ630ã
åé¡ã¯ãã¹ã±ãŒã«ãéçšäžã®åé¡ã§ãããã¢ããªã±ãŒã·ã§ã³å®çŸ©ã®äžéšã§ã¯ãªããããäœæãã¡ã€ã«ã«å®éã«ã¯é©åããªãããšã§ãã
ããã©ã«ãã®ã¹ã±ãŒã«ã¬ãã«ã®æ§æããµããŒãããã®ã¯è¯ãããšã§ãããäœæãã¡ã€ã«ãé©åãªå Žæã§ã¯ãªããšæããŸãã
scale: 0
ã®å Žåã¯ãïŒ1754ã§ãã§ã«å¯ŸåŠãããŠããã¯ãã§ãã ãno-opãã³ã³ããã«ã¯ãããã«çµäºããã³ãã³ãïŒechoãtrueãªã©ïŒãå«ããããšãã§ããŸãã scale: 0
ãå¿
èŠãªå Žåã¯ãéåžžãããŒã¿ããªã¥ãŒã ã³ã³ãããŸãã¯ãã¢ãããã¯/管çã¿ã¹ã¯ãã®2ã€ã®ãã¡ã®1ã€ã§ãã
ããªã¥ãŒã ã¯æ°ããAPIãšã³ããã€ã³ããååŸããŠãããããããã«ããŒã¿ããªã¥ãŒã ã³ã³ããã¯å¿ èŠãªããªããã³ã³ãããå¿ èŠãšããã«ããªã¥ãŒã ãå®çŸ©ã§ããããã«ãªããŸãã
管çã¿ã¹ã¯ã¯ïŒ2051ã§ããé©åã«åŠçãããŸãã admin.yml
ãå®çŸ©ã§ããŸããããã«ãããã³ã¢docker-compose.yml
ãæ¡åŒµãããããããã®å®çŸ©ãæ··ä¹±ãããããšãªãã管çã¿ã¹ã¯ããã³ã¢æ§æãã«ãªã³ã¯ã§ããŸãã
ãããã®å€æŽã¯äž¡æ¹ãšãçŸåšãã¹ã¿ãŒã«ããã1.5.0ãªãªãŒã¹ïŒããè¿ãã«ãããŸãïŒã§å©çšã§ããããã«ãªããŸãã
ãã®ãããããã©ã«ãã§ãµãŒãã¹ã1ãã倧ãããµã€ãºã«ã¹ã±ãŒãªã³ã°ãããå Žåã®ã¿ãæ®ããŸãã ãã®ãããªã¹ã¯ãªãããäœæããã®ã¯ãã§ã«ããªãç°¡åã§ããããããæ§æãã¡ã€ã«ã«å ¥ããããšãã§ããã°ããã§ãããã§ãããã ïŒ745ã§å¥ã®æ§æã®ã¢ã€ãã¢ãæ¢æ±ããã€ããã ãšæããŸãã ãã®æ°ããæ§æã¯ãã¢ããªã±ãŒã·ã§ã³å®çŸ©ã®äžéšã§ã¯ãªããã®ïŒãããžã§ã¯ãåãããã©ã«ãã®ãããã¯ãŒã¯åãããã©ã«ãã®ã¹ã±ãŒã«ãªã©ïŒã«é©ããå Žæã«ãªããšæããŸãã
æ¬æãè¡šããŠãç§ã¯èŠæš¡ãéçšäžã®æžå¿µã«ãããªãããšã«åæããŸããã ã¢ããªã±ãŒã·ã§ã³ã¯ãå®è¡äžã®ãµãŒãã¹ã®æå°æ°ãæ°ã«ããããšãã§ããŸãã
ããŒãªãã¬ãŒã·ã§ã³ã³ã³ããã«é¢ããŠã¯ããã®ã³ã³ããã®ç®çããä»ã®ã³ã³ãããimage
ãã£ãŒã«ãã«äœ¿çšããããŒã¹ã€ã¡ãŒãžã®æ§ç¯ãããªã¬ãŒããããšã§ããå Žåãå®éã«ã³ã³ãããå®è¡ããã®ã¯åä»ã ãšæããŸãã
ã¢ããªã±ãŒã·ã§ã³ã¯ãå®è¡äžã®ãµãŒãã¹ã®æå°æ°ãæ°ã«ããããšãã§ããŸãã
ãã®ã±ãŒã¹ã®äŸãæããŠããã ããŸããïŒ
ããŒãªãã¬ãŒã·ã§ã³ã³ã³ããã«é¢ããŠã¯ããã®ã³ã³ããã®ç®çããä»ã®ã³ã³ãããã€ã¡ãŒãžãã£ãŒã«ãã«äœ¿çšããããŒã¹ã€ã¡ãŒãžã®æ§ç¯ãããªã¬ãŒããããšã§ããå Žåãå®éã«ã³ã³ãããå®è¡ããã®ã¯åä»ã§ãã
ããŒã¹ã€ã¡ãŒãžãåããã«ãã®äžéšã«ããå¿
èŠãããçç±ã¯ãããŸããïŒ ïŒ1455ã§è¿°ã¹ãããã«ãcomposeã¯äž»ã«ãdockerbuildãããŒã«ã§ã¯ãããŸããã å®è¡æã«ã³ã³ãããŒã®æ§æãæäŸããããšãç®æšã§ãã èãããããã¹ãŠã®ãã«ãã·ããªãªããµããŒãããããšãããšãäœæã®ç¯å²ã倧å¹
ã«åºãããã³ã³ããã®äœæããçŠç¹ãå€ããŸãã ã€ã¡ãŒãžã®æ§ç¯ãäžå¿ã«èšèšãããããŒã«ã§ããããããã®èŠæ±ã®ãã¹ãŠããµããŒãããããšã¯å°é£ã§ãã ããè¯ãæ¹åã¯ããã«ãã®è€éããã§ããã ãå€ãæ§æããªãããã«ãããŠãŒã¶ãŒãdocker-compose build
代ããã«é©åãªãã«ãããŒã«ã«ã¹ã¯ããã§ããããã«ããããšã ãšæããŸãã
ç§ãæ°ã«ãããŠãããŠãŒã¹ã±ãŒã¹ã¯scale = 0ã§ãïŒããããabstract = trueã®æ¹ãé©åãªèšè¿°åã§ãïŒã ç°ãªãã³ãã³ãéã§ç»åãšç°å¢å€æ°ãå ±æããããšæããŸãã å ·äœçã«ã¯ã1ã€ã®WebãµãŒããŒãš1ã€ã®ããã¯ã°ã©ãŠã³ããžã§ããµãŒããŒããäž¡æ¹ãšãåãã³ãŒãã§ãäž¡æ¹ãšãåãç°å¢å€æ°ã§å®è¡ããå¿ èŠããããŸãã
@wkonkelã¯ããªãã®äŸã䜿çšããŠããŸããããããæ©èœãããšæããŸããïŒ
app_web:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://user:password<strong i="7">@host</strong>:5432/dbname
app_worker:
extends:
service: app_web
command: rake jobs:work
ports: []
ports
no-opãªãŒããŒã©ã€ãã䜿çšããæœè±¡ãµãŒãã¹ãcommand
ãšäº€æããŸãã ããã¯æ£ããã§ããïŒ
@dnephinã¯ããç§ã®å Žåã¯æ©èœããŸãã
å®éãç§ã¯ãããåãæ»ããŸã... docker-compose-1.4.2ã§è©ŠããŠã¿ãŸãããããportsïŒ[]ãã¯èŠªããªãŒããŒã©ã€ãããŠããªãããã§ãããã®ãããapp_workerã¯ãportisalreadyassignedãã§éå§ã§ããŸããã "ã
@dnephinã¹ã¬ããã«ã¯ãã£ãšè¯ã説æããããããããŸããããããã§æ確ã«èª¬æããããšæããŸãã
æåã«é ã«æµ®ãã¶ã®ã¯ãåãã³ãŒããå®è¡ããåå¥ã®ã³ã³ãããŒãã芪-> forkïŒïŒ->åããŒã«ã¿ã€ãã®ãµãŒãã¹ã®ããã«ã¢ãã«åã§ãããžã§ãã·ã¹ãã ã§ããããã©ã«ãã®ã¢ããªã±ãŒã·ã§ã³æ§æã§ã¯ãåæå®è¡ã®ããã«æå°æ°ã®ã¯ãŒã«ãŒãå¿ èŠã§ãã
ããã«å¯Ÿããç§ã®ã€ã³ã¹ãã¬ãŒã·ã§ã³ã¯ãPythonããã±ãŒãžïŒã¯ãŒã«ãŒã³ãŒãïŒãå«ãããŒã¹ã€ã¡ãŒãžãå ±æããŠãããããã¥ãŒããšã«è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ãå®è¡ãããŠãããç°ãªããã¥ãŒã«æ¥ç¶ãããRQã¯ãŒã«ãŒã䜿çšããã¢ããªããæ¥ãŸããã å®è¡æéã®é·ããžã§ãã®ãããåæå®è¡æ§ã®æå°å¯çšæ§ã¯ã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ã§ããã
no-opã³ãã³ãã䜿çšãããšãä»ã®ã¢ããªã±ãŒã·ã§ã³ã¹ã¿ãã¯ãšåãæ¹æ³ã§å ±æããŒã¹ã€ã¡ãŒãžãæ§ç¯ããããã ãã«ãªãœãŒã¹ã浪費ããããã«æããŸãã ããŒã¹ã€ã¡ãŒãžã®ããã ãã«while / sleepã«ãŒããçºçããŸããããã¯ã¯ãŒã«ãªåé¿çã§ããããããå®çŸããããã®çŽæçãªæ¹æ³ãšã¯æããŸããã èšããŸã§ããªããã©ã³ã¿ã€ã é¢æ°ã®ãªãã¢ã€ãã ãããã»ã¹ããªãŒã«æ®ããŸãã
docker-composeãã€ã¡ãŒãžã®ãã«ãé¢ä¿ãäœç³»åãããã¡ã€ã³ã«æ¬åœã«ã¯ãã¹ãªãŒããŒããªãå Žåã¯ããã«ããªãã·ã§ã³ãåé€ããããŒã¹ã€ã¡ãŒãžããã«ãããããã®ãã«ãã¿ãŒã²ãããå®çŸ©ã§ããããã«ãä»ã®ãã«ãå®çŸ©ã·ã¹ãã ãäœæããå¿ èŠããããŸãã ããããŠããã€ãã®å€æŽãããã¢ãŒãã£ãã¡ã¯ã/æ§æã§ãã®ããŒã¹ãæ¶è²»ããä»ã®ç»åãæ£ããé åºã§ïŒ
ãããã¯ãç§ã¯ããŸãã«ãæèŠãåãããŠããã®ã§ãDockerã®äœæã³ãã³ããã·ã§ã«ã¹ã¯ãªããã§ã©ããããŠããµãŒãã¹ãã¹ã±ãŒã«ã§èµ·åãããã¹ãŠã®ã€ã¡ãŒãžãã«ããäŸåé¢ä¿ã®ããmakeã¿ãŒã²ãããšããŠå®çŸ©ããå¿ èŠããããŸãã
no-opã³ãã³ãã䜿çšãããšãä»ã®ã¢ããªã±ãŒã·ã§ã³ã¹ã¿ãã¯ãšåãæ¹æ³ã§å ±æããŒã¹ã€ã¡ãŒãžãæ§ç¯ããããã ãã«ãªãœãŒã¹ã浪費ããããã«æããŸãã
ïŒ1754ïŒæ¬¡ã®ãªãªãŒã¹ïŒã§ã¯ãããã¯ããå¿ èŠãããŸããã ãµãŒãã¹ã¯çµäºã§ããæ®ãã®ãµãŒãã¹ãåæ¢ããããšã¯ãããŸããã ãããã£ãŠãããŒã¹ãçµäºããã ãã§ãå¿é ããå¿ èŠã¯ãããŸããã
@dnephin Coolã§ã¯ãæåã«ãã«ããããããšã確èªããããã«ããã®ããŒã¹/äžéã³ã³ãããŒã«link
ãæäŸããŸããïŒ
@dnephin ïŒ docker compose up
ãšåçã®CIã©ã³ããŒããããŸãã ãã¹ãç°å¢ãè€æ°ã®ããŒãžã§ã³ã®ãµãŒãã¹ïŒã€ãŸããã¹ã±ãŒã«ïŒã§å®è¡ãããã æ§æãããã¯å
šäœãã³ããŒããããšãã§ããŸãããããã«ã¯èªåèªèº«ãç¹°ãè¿ãå¿
èŠããããŸãã ãã®å Žåãããã¯ãåãªãéçšäžã®æžå¿µãã§ã¯ãªããã¯ã©ã¹ã¿ãŒåãããã¢ããªã±ãŒã·ã§ã³ãéçºãããšãã«éçºç°å¢ã§å¿
èŠãªãã®ã§ããã¯ã©ã¹ã¿ãŒåãããã¢ããªã±ãŒã·ã§ã³ã¯ãçŸåšãäœæãã¡ã€ã«ã«ã€ããŠå®å
šã«èª¬æãããŠããŸãã çŸæç¹ã§ã¯ã垯åå€ã®ã¹ã±ãŒã«æ§æãå¿
èŠã§ãã©ããããããdocker-compose scale
åŒã³åºãå¿
èŠããããšæããŸãããããã¯çæ³çã§ã¯ãªãããã§ã倱æãã¬ãŒã¹ã®æ©äŒãããã«å¢ããŸãã
æ¬çªç°å¢ã®å Žåãæå°éã®èŠæš¡ã§ãµãŒãã¹ã«ã¹ã¿ãŒãä»ããããšãã§ããŸãã ããšãã°ãããã¯ã©ã¹ã¿ãŒããå¥ã®ã¯ã©ã¹ã¿ãŒã«ç§»è¡ããäŸãç°¡åã«ããããã«ã移è¡ã®é£ããéšåãã³ããŒããŒã¿ãšããŠä¿æãããšããŸãã ãããŠãå®éã«ã¯æåãããã©ãã£ãã¯ã®åŠçãéå§ããå¿ èŠããããããdockerã䜿çšããŠãããã€ããå¿ èŠããããŸããããšãã°ãWebãªã©ã®ãµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ãå°ãªããšãïŒnïŒåäœæããŸãã
æ§æãã¡ã€ã«ã®ãµãŒãã¹ã®äžã«ã¹ã±ãŒã«ããããšãå®éã«ãããåŠçã§ããŸãã ããã¯ãŠãŒã¶ããªãã£ã®ãŠãŒã¹ã±ãŒã¹ã§ããããŸãããŠãŒã¹ã±ãŒã¹ãå®éã«ãéå§ç¹ã«1ã€ã ãã§ãªããå°ãªããšãïŒnïŒåã®ãµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ãå®è¡ãããšããèŠä»¶ãå ¬éããŠããå Žåã§ãã
ç§ã®èŠ³ç¹ãããããšãã¹ã±ãŒã«ã¯å®éã«ã¯ããããžãŒãšæ§æã®ãã©ã¡ãŒã¿ãŒãå®çŸ©ãããã®ã§ãã
@dnephin
ãã®ã±ãŒã¹ã®äŸãæããŠããã ããŸããïŒ
ConsulãMariaDB Master-MasterããŸãã¯Swarmäžã®ãã®ä»ã®åæ£ã¢ããªã¯ãä¿¡é Œæ§ã確ä¿ããããã«ãã¯ã©ã¹ã¿ãŒå ã«å°ãªããšã3ã€ã®ããŒããå¿ èŠã§ãã èšå®ãã¡ã€ã«ã§å©çšã§ãããµãŒãã¹ã®æ°ã«ã¯ç¢ºãã«ãŠãŒã¹ã±ãŒã¹ããããŸããããªãããå察ããŠããã®ãããããŸããã ããã°ïŒ+1ïŒããã§ç§ããã
ã¹ã±ãŒã«ãèšå®ããæ¹æ³ã«å察ããŠããããã§ã¯ãããŸãããäœæãã¡ã€ã«ãšã¯ç¬ç«ããŠå€åããç¶æ ã§ãããããäœæãã¡ã€ã«ã«å±ããŠãããšã¯æããŸããã
äœæãã¡ã€ã«ã«ã¹ã±ãŒã«æ§æãè¿œå ããããšãåæãšãããã®äŸãèŠãŠãã ããã
docker-compose up -d
ãå®è¡ãããšããµãŒãã¹ã¯3ã«æ¡åŒµãããŸãdocker-compose scale service=4
ãå®è¡ããŸãdocker-compose up -d
åãããã€ããŸã..ã©ããªããŸããïŒ åã³3ã«ããŠã³ã¹ã±ãŒã«ããŸããïŒ ä»ã¯ã¹ã±ãŒã«ãå®å
šã«ç¡èŠããŠããŸããïŒãããã®ã·ããªãªã¯ã©ã¡ããé©åã§ãé©åã§ããããŸãããããã¯ãã€ã³ã¹ã¿ã³ã¹ã®é害ãç¡èŠããç°¡åãªäŸã§ãïŒããã«ããããã«è€éã«ãªããŸãïŒã
äœæãã¡ã€ã«ã«è¿œå ããå Žåã¯ã競åããªãããã«scale
ã³ãã³ããåé€ããããšæããŸãã
ããªããäžããäŸã¯ãéçšèŠä»¶ã®äŸã§ãã ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«è€æ°ã®ãã¹ã¿ãŒã¯å¿
èŠãããŸããããµãŒãã¹ã®ä¿¡é Œæ§ïŒæäœïŒã®ããã«å¿
èŠã§ãã ãããŠãããªãã¯ãŸã scale db=x
ãããéæããããšãã§ããŸãã
@dnephinã«ãã£ãŠäžèšã®äŸã䜿çšãããšïŒ
ãŸããscaleã³ãã³ããåçŽãªãã®ã ãšæããŸãããµãŒãã¹ãã¹ã±ãŒã«ã¢ãããããã¹ã±ãŒã«ããŠã³ããããããããªãããã2ã€ã®diffã³ãã³ãã䜿çšããŠããµãŒãã¹ã®æ°ãäŒããã ãã§ã¹ã±ãŒã«ã¢ãããŸãã¯ã¹ã±ãŒã«ããŠã³ã®æå³ã説æã§ããŸããããããäœæãŸãã¯åé€ãããå Žåã¯ãã¯ããã«åªããŠããŸãã
@dnephinã«ãã£ãŠæèµ·ããã質åã«å¯Ÿããçãã¯ãå€æŽåãšåãæ°ã®ãµãŒãã¹/ã³ã³ãããŒãå®è¡ãããããšãæåŸ ããŠãããšããããšã§ãã
Composeã¯ã¹ããŒãã¬ã¹ããŒã«ã§ãããDocker APIã䜿çšããŠãåé¡ããããšæãããå Žæã§OpsããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãè¡ãã®ãæ¯æŽããŸããcomposeã¯ãå®å šãªãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãµãŒãã¹ã§ã¯ãªãããã«ãããŒã«ãšããŠèšèšãããŠããŸãããããŠä»ããããå¿ èŠã§ãããšã³ãžã³ãããŸãåäœããããããžã§ãã³ã°ãããã·ã³ããããããããã¹ãŠãã¯ã©ã¹ã¿ãŒã«åå ãããããã®çŸ€ãããããŸãããå®éã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãµãŒãã¹/ããŒã«ããªãŒã¯ããŠæ§æã®æè»æ§ãæäŸããŸããããã€ããããµãŒãã¹/ã³ã³ãããk8sã®ããã«ç®¡çããŸãã ä»ã®ãšããcomposeã¯ããã«ãã䌌ãŠããŸããããã®ãããžã§ã¯ãã®å°æ¥ããã£ãšå€§ããªãã®ã«é²åããªãå Žåã¯ãå ¬åŒã®éçºè ãšã¡ã³ããããããã«ã€ããŠè©±ããŠãå¥ã®ããšãç解ã§ããããã«ããã®ãæåã®èãã§ãããããè¡ãããšãã§ããããŒã«ã
å人çã«ã¯ãcomposeã¯çŽ æŽãããããŒã«ã§ãããç§ãã¡å šå¡ã«ããç¥ãããŠããã®ã§ãcomposeãé²åãããæ¹ãè¯ããšæããŸãã
ç§ã¯ãããèŠãŠããããã§ãïŒ docker-compose > docker compose
ã
æ®ãã®ããŒã«ã«ã€ããŠã¯ããããããŸãããããã®ããã«ã¯ããšã³ãžã³ãšã¹ããŒããã«ã«çµ±åããã®ãæ¬åœã«ããã§ãããã å°ã話é¡ããå€ããã³ã¡ã³ãã§ããããªããã
scaleã³ãã³ããåé€ããŠscaleãªãã·ã§ã³ã«çœ®ãæãããšããææ¡ã®ããã«ïŒ2496ãäœæããŸããïŒäžèšã®æçš¿ããïŒã ãã®ææ¡ã«å¯Ÿãããã£ãŒãããã¯ã¯çŽ æŽããããã®ã§ãã
ïŒ2496ã³ã³ããŒãºã®@dnephinã¯ãç°¡åã«ã¹ã±ãŒã«ã¢ãããŸãã¯ã¹ã±ãŒã«ããŠã³ããæ©èœã倱ããŸããã³ã³ããŒãºãã¡ã€ã«ãåæ§æããŠããã1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãã¹ã±ãŒã«ããŠã³ãŸãã¯ã¹ã±ãŒã«ã¢ããããã ãã§ãã³ã³ããŒãºãå床å®è¡ããå¿ èŠããããŸããããã¯ããªãè¯ããšæããŸããè€éã
ç¹°ãè¿ãã«ãªããŸããããã®ãã¹ãŠã®ã·ããªãªã¯ãcomposeãã¹ããŒãã¬ã¹ããŒã«ã§ããããµãŒãã¹ã®ç¶æ ãšãããæç¹ã§ã®ãµãŒãã¹ã®æ°ãå¶åŸ¡ã§ããªããšããç¹ããæ¥ãŠãããšããç¹ã倱ã£ãŠããŸãã
æ°ããææ¡ã§èšåããã·ããªãªã¯ãç¶æ ãå®å šãªãµãŒãã¹/ããŒã«ã®new-composeã«ãã£ãŠç°¡åã«è§£æ±ºãããŸãã
+1
+1
+1
@dnephin次ã®å Žåãåäœã¯åãã§ã¯ãããŸããã
$ docker-compose up -d && docker-compose scale node=4 && docker-compose up -d
æ§æãå éšçã«ã©ã®ããã«æ¡åŒµããããã«ã€ããŠã¯ãããã»ã©åé¡ã§ã¯ãããŸããã
ãããããã¢ããªã±ãŒã·ã§ã³ã®äœæãã¯ã¹ããŒãã¬ã¹ã§ãã å¯äžã®ç¶æ ã¯ã1ïŒäœæãã¡ã€ã«ãããã³2ïŒãšã³ãžã³ã«ãã£ãŠç®¡çãããDockerã³ã³ãããŒã©ãã«ã§ãã
äœæãã¡ã€ã«ã¯ãäœæã§ã¯ãªãã人éã«ãã£ãŠã®ã¿ç·šéãããŸãã åãã³ã¡ã³ããé åºãæ§é ã§yamlãæžãåºãã®ã¯é¢åã§ãã pyyamlã§ã¯ãµããŒããããŠãããããšã«ããæ¬åœã«ããããããšã§ã¯ãããŸããã
Dockerãšã³ãžã³ã¯ã¹ã±ãŒã«ãèªèããªãããããã®ç¶æ ãä¿åã§ããŸããã ã¯ããã«å€§ããªã¢ãŒããã¯ãã£ã®å€æŽã§å¯èœã§ãããããã¯ãã®åé¡ã®ç¯å²å€ã§ãã
ä»ã®ãšãããç§ãã¡ã®ãªãã·ã§ã³ã¯åºæ¬çã«ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãšããŠã¹ã±ãŒã«ãç¶æãããããããäœæãã¡ã€ã«ã«ç§»åããããšã§ãããïŒ2496ã§èª¬æããŠããããã«ãäž¡æ¹ããããšæ··ä¹±ãã誀ã£ãåäœã«ã€ãªãããšæããŸãã
up && scale && up
å®éã«ä»æ£ããããšãããŠããŸãã up
ã¯ãã¹ãŠã®ã³ã³ãããŒãåäœæããæ§æã«ã¹ã±ãŒã«å€ããªããããç®çã®ã¹ã±ãŒã«ãã©ãããã¹ããã«ã€ããŠæ··ä¹±ããããšã¯ãããŸããã ãã§ã«scaleã³ãã³ãã§èšå®ãããŠãããã³ã³ããã©ãã«ã§è¿œè·¡ãããŠããŸãã
@dnephinç§ã¯ããªããèšã£ãŠããããšã«åæãããšæããŸãã[ãã®ä»®å®ã§ã¯ééã£ãŠãããããããŸãã]ããªããæ¬åœã«è³ªåããŠããã®ã¯ãã³ã³ããŒãã³ãã®ã€ã³ã¹ã¿ã³ã¹ã®æ°ãå®éã«ã¯ãµãŒãã¹ã®æ§æïŒã³ã³ããã®ã°ã«ãŒãåïŒã®åé¡ã§ãããšããããšã§ãããŸããŸãªã³ã³ããŒãã³ãã³ã³ãããå®è¡ããŠããŸãïŒã cliãšcompositiondefinitionïŒyamlïŒã®éã«ããªãã£ããªããšããèŠåã ãã§ãçŸåšãã®æžå¿µã«å¯ŸåŠããŠãããšèšããŸãã
ã¹ã±ãŒã«ãæ§æã®åé¡ã§ã¯ãªããšè²¬ä»»ã®ç¯å²ã決å®ãããå Žåã¯ãCLIãªãã·ã§ã³ãšããŠã¹ã±ãŒã«ãåé€ããå¿ èŠããããŸãïŒããããå€ãã®ãŠãŒã¶ãŒãæãããŸãïŒããŸãã¯ã¹ã±ãŒã«ããµãŒãã¹ã®æ§æã®åé¡ã§ãããšå€æãããå ŽåN + 1ãå¿ èŠãšããã¯ã©ã¹ã¿ãŒåãããã€ã³ã¹ã¿ã³ã¹ã説æããããã«ãæå°ã€ã³ã¹ã¿ã³ã¹ã®è¿œå ãµããŒãã䜿çšããŠãcliãšyamlã®éã«åçæ§ãããå¿ èŠãããããšã
@jmmillsã«åæããç¹ã«ããŒã¿ã³ã³ããã®ã¯ã©ã¹ã¿ãå®è¡ããå Žåãå¯çšæ§ãšã¬ããªã±ãŒã·ã§ã³ãscale
ãã¢ããªã±ãŒã·ã§ã³ã®äžéšã«ãªããŸããé©åãªã¹ã±ãŒã«ããªããšãæ©èœããªãå ŽåããããŸãã
+1
+1
+1
çŸåšãç§ã¯ãã®ãããªããšã宣èšããå¿ èŠããããŸãïŒ
ã»ã¬ã³-ã¯ãã 1ïŒ
..ã
ã»ã¬ã³-ã¯ãã 2ïŒ
..ã
ããã¯ããã ããïŒ
ã»ã¬ã³ã¯ãã ïŒ
ã¹ã±ãŒã«ïŒ2
+1
@caioquirinoãèšã£ãããšãšãŸã£ããåãã§ãã +1
docker-compose up
ã¯ãä»ã®äœæ¥ãå¿
èŠãšããã«äœæ¥ç°å¢ãç«ã¡äžããå¿
èŠããããŸãã è€æ°ã®ããŒããå¿
èŠãšãããµãŒãã¹ãèµ·åããå¯äžã®æ¹æ³ã¯ã @ caioquirinoãèšåãããã¿ãŒã³ã䜿çšããããšã§ãã ããã§DRYéåãç¡èŠãããšãã©ã®ããµãŒãã¹ããã¹ã±ãŒãªã³ã°ããå¿
èŠãããããæ確ã§ãªããããscaleã³ãã³ãã䜿çšããŠå¥ã®ããŒããè¿œå ããããšãããšããã¿ãŒã³ã®èããæªããªããŸãã
ymlãã¡ã€ã«ã®ã¹ã±ãŒã«ã§ãããä¿®æ£ãããŸãã
Big +1ãããã䜿çšããŠãæåã«ã¹ã±ãŒã«ã0ã«èšå®ãããŠãããµãŒãã¹ãå®çŸ©ããããšæããŸãã
ã®ç·ã«æ²¿ã£ãŠ...
consul_bootstrap:
build: ./consul
consul_master:
build: ./consul_master
scale: 0
åãdocker-compose.ymlã䜿çšããŠãéçºç°å¢ããæ¬çªç°å¢ã«ã·ãŒã ã¬ã¹ã«ç§»è¡ã§ãããšããèãæ¹ã§ãã consul_masterã€ã³ã¹ã¿ã³ã¹ã¯èªåçã«ã©ããã«åå ãã docker-compose scale consul_master=3
å®è¡ããŠã¯ã©ãŒã©ã ã確ç«ããŸãã ããã¯ããªãã¯ãŒã«ã§ãããã
@dnephinã«è¿ä¿¡ããã«ã¯...
äœæãã¡ã€ã«ã«ã¹ã±ãŒã«æ§æãè¿œå ããããšãåæãšãããã®äŸãèŠãŠãã ããã
- ãµãŒãã¹ã®åæã¹ã±ãŒã«ã3ã«èšå®ããŸãã
- docker-compose up -dãå®è¡ãããšããµãŒãã¹ã3ã«ã¹ã±ãŒãªã³ã°ãããŸã
- docker-compose scale service = 4ãå®è¡ããŸã
- ããã€ãã®å€æŽãå ããdocker-compose up -dã§åãããã€ããŸããã©ããªããŸããïŒ åã³3ã«ããŠã³ã¹ã±ãŒã«ããŸããïŒ ä»ã¯ã¹ã±ãŒã«ãå®å šã«ç¡èŠããŠããŸããïŒ
- 倧奜ãã§ã
- 倧äžå€«
- ç§ã¯ãŸã ããªããšäžç·ã§ã
- ç¶ç¶çãªæŽæ°ãåä¿¡ããŠââããæ¢åã®ãããã€ã¡ã³ãã®ã¹ã±ãŒã«ã®ç¶ç¶æ§ãç¶æã§ããããã«ãæ¢åã®ãããã€ã¡ã³ããšæ°ãããããã€ã¡ã³ããããçšåºŠåºå¥ããå¿ èŠããããšæããŸãã åã ã®ãããã€ã«ã¯ãDOCKER_HOST envãªã©ããåã³ã³ããŒãã³ãã®ã¹ã±ãŒã«ãã€ã¡ãŒãžIDãããã³åãããã€ã®å±¥æŽãšãšãã«å«ãŸããŸãã ããã¯ãç¶ç¶çãããã€ããã«ãŒã°ãªãŒã³ãããã€ã¡ã³ããªã©ã®ã¢ããã¹ã¿ãã¯ã¡ã«ããºã ã«æ¥ç¶ããã®ã«é©ããå Žæã§ããããïŒ ããå°ãæ¬çªç°å¢ã«å¯Ÿå¿ããã¯ãŒã¯ãããŒãæ³åããŠããã®ã§ãå¥ã®DOCKER_HOSTã«æ¥ç¶ããŠ
docker-compose up -d
ãå®è¡ããããã¯ãæäŸããŠãã¢ããã¹ã¿ãã¯ããŒã«ãCIãé/ç·ã®ããŒã«ã¢ãŠããªã©ã管çã§ããããã«ããŸãã DOCKER_COMPOSE_ENV = {"testing" ||ã®ãããªãã®ãè¿œå ãããããããŸãã ããããã¯ã·ã§ã³ã|| "dev"}ïŒ
IMHOã¯ããããŒãã³ãŒããããã scale
æã£ãŠãããããšãã°3ãšèšããšã3ã€ã®ã³ã³ãããŒã§éå§ããå¿
èŠããããŸãã
ãscaleããã©ã¡ãŒã¿ãŒãšãscaleãã³ãã³ãã«é¢ããå€ãã®æ··ä¹±ã¯ãYAMLãã©ã¡ãŒã¿ãŒã«ãinitial_scaleããŸãã¯ãdefault_scaleããšããååãä»ããããšã§è»œæžããããšæããŸãã ããã¯ãäœããã®ãªãŒããŒã©ã€ãããªãå Žåã«äœ¿çšãããå€ã«ãããªãããšãæ確ã«ç€ºããŠããŸãã ãŸãïŒå°ãªããšãIMHOïŒããã®ãinitial_scaleããã©ã¡ãŒã¿ãŒã¯ãdocker-composeããµãŒãã¹ãåããŠèµ·åãããšãã«ã®ã¿åç §ãããdocker-composeãå®è¡ããŠãããšãã«ã¯åç §ãããããµãŒãã¹ã®äžéšã®ã€ã³ã¹ã¿ã³ã¹ãæ¢ã«å®è¡ãããŠããããšãåççã§ãã
ãinitial_scaleãã®å Žåã¯+1ã§ãããŸããdockerèªäœã«ã¯ãã®ãããªãã©ã¡ãŒã¿ãŒããªãããããã®ãã©ã¡ãŒã¿ãŒã¯æ§æåºæãšããŠæ瀺çã«èšè¿°ãããŸãã
èå³æ·±ãããšãèµ·ãããŸããããã°æçš¿
+1
+1
äœçŸäžãã®åé¡ãšãªã¯ãšã¹ãã®scale / initial_countãªã©..ãŸã èšç»ãããŠããŸããã
ãã以å€ã®ç¹ã§ã¯åªãããããžã§ã¯ããèŠãã®ã¯æ²ããããšã§ããã人ã ã¯èšãèš³ãèŠã€ããŠãæ°ããéè€ããåé¡ãäœæããåé¡ãéããŠäœæ¥ããå®è¡ãããã ãã§ãã
+1
+1
+1
+1
åæ¢ããŠãã ããïŒ
+1ãè¿œå ããªãã§ãã ããïŒ
åé¡ã賌èªããã ãã§ãïŒ
+1ïŒ @pierrreç³ãèš³ãããŸããïŒ
+1ãã®éåžžã«éèŠïŒ @pierrre ãç³ãèš³ãããŸããïŒ
åæããŸãããããªãã®ã+1ãã«å¯ŸããŠ100000ã®éç¥ãåãåããããããŸããã
/ me forks dockerãäœæããã³ãŒãããŒã¹ã®åŠç¿ãéå§ããŸãã
äžèšã®å€ãã®æå¹ãªãã€ã³ãã¯ãæ§æãã¡ã€ã«ã«default/inital scale
ãã©ã¡ãŒã¿ãŒãããããã«èŠããŸã+ scale
cliã³ãã³ãã¯äž¡æ¹ã«å¯ŸåŠããŸãã åæã¹ã±ãŒã«ãªãã·ã§ã³ããµããŒããããŠãŒã¹ã±ãŒã¹ãè¿œå ããã«ã¯ãã¯ã©ãŒã©ã ãXåã®ããŒãã§æ§æããããã以å€ã®å Žåã¯åäœããŠã¯ãªããªãïŒããšãã°ã3ã€ä»¥äžïŒã¯ã©ã¹ã¿ãŒåããããµãŒãã¹ãæ€èšããŸãã docker-compose
ã®ãã€ã³ãã¯ããã®ãããªã·ã¹ãã ã®å®å
šã«å«ãŸããèšè¿°åãæã€ããšã§ãã
ç§ã®ãŠãŒã¹ã±ãŒã¹ã¯æ¬¡ã®ãšããã§ãã
éè€ãæžããããã«ãããã€ãã®äžè¬çãªèšå®ã§ãµãŒãã¹ãæ¡åŒµããŸããã ãã ããåºæ¬ãµãŒãã¹ã¯äœæããïŒãµãŒãã¹åãæ瀺çã«æå®ããã«å®è¡ããå ŽåïŒãæåã§ã·ã£ããããŠã³ããŸãã åºæ¬ãµãŒãã¹ã®åæã¹ã±ãŒã«ã0ã«ããããšæããŸãã
ç§ã¯äžè¬çã«åæããŸãã ç§ã®èãã§ã¯ããã®åé¡ãšãªã³ã¯ããã/é¢é£ããåé¡ã¯ããããã«ç°ãªãåé¡ã«èŠçŽãããŸãã up
ãšscale
æçµçã«ã¯åãã³ãã³ãã«ãªããããšããããšã§ãã
圌ãã¯æã ãã§ã«ã§ãïŒ
docker-compose up service
docker-compose scale service=1
ããŸãã scale
ãup
ãå®è¡ãããã¹ãŠã®CLIãªãã·ã§ã³ïŒ --force-recreate
ïŒãå
¬éããå ŽåããŸãã¯up
ãã«ãŠã³ãã«ã€ããŠç¥ã£ãŠããå Žåãåºæ¬çã«ã¯å
¬éãããŸãã
ãã®åé¡ãææ¡ããããã«ããåæã¹ã±ãŒã«ããã£ã¬ã¯ãã£ããdocker-compose.yml
ã«è¿œå ãããå Žåã up
ã¯ã«ãŠã³ããåŠç¿ããå¿
èŠããããŸãã ã©ã®æç¹ã§ã up
ã¯ã«ãŠã³ãæ§ædocker-compose up service=10
ïŒyamlã§å®çŸ©ãããã¹ã±ãŒã«ãäžæžãããå¯èœæ§ããããŸãïŒããµããŒãããã ãã§ã¯ãããŸãããïŒ
ãåæã¹ã±ãŒã«ããšãã¹ã±ãŒã«ãã«ã¯éãããããããŸããŸãªã³ãã³ãã®ãã¡ã€ã³ã§ããå¯èœæ§ããããŸãã ãã ãã up
ã¯ã¹ãçã§ãããå¿
ãããç¶æ
ãå€æŽããã«ç¹°ãè¿ãå®è¡ãããããã«èšèšãããŠããããããã®åºå¥ã¯å³å¯ã§ã¯ãªããšæããŸãã 代ããã«ã up
scale
å®å
šã«å
±é£ãããããšãæ€èšããå¿
èŠããããšæããŸãã
@mattgilesåæããŸããããã¯ç§ãïŒ2496ã§è¡ã£ãŠãããšããã§ãããããç§ã¯service=count
ãup
è¿œå ãããããšãã§ãããšã¯èããŠããŸããup web
ã¯ãWebãµãŒãã¹ãšãã®äŸåé¢ä¿ã®ã¿ãèµ·åããããšãæå³ãããšããããšã§ãã up web=3
ãå®è¡ããããšãããšãåãããšãæå³ãç¶ããå¿
èŠããããŸãã ã€ãŸãããã¹ãŠãup
ãŠãã¹ã±ãŒã«ã«ãŠã³ããäžåºŠã«ãªãŒããŒã©ã€ãããæ¹æ³ã¯ãããŸããããããããåé¡ãããŸããã
ïŒ2496ã§ææ¡ãæŽæ°ããŸã
@dnephinæè¿ã®ææ¡ãèŠéããŸããã çŽ æŽãããïŒ
fwiwã docker-compose up web=3
ããwebããµãŒãã¹çšã®3ã€ã®ã³ã³ãããŒãšãyamlã§å®çŸ©ãããæ¯çïŒ scale
ãããªãã®ããšïŒã§äŸåé¢ä¿ã衚瀺ããã®ã¯å®å
šã«çŽæçã ãšæããŸã
ãã®åŸã®up
åŒã³åºãã¯ãçŸåšã®ããã«ãæ¢åã®ã³ã³ãããŒããã®ãŸãŸã«ããŠããããšãã§ããŸãã çŸåšã®ã¹ã±ãŒã«ãyamlã§å®çŸ©ãããŠããã¹ã±ãŒã«ãããå°ããå Žåã«ã®ã¿ãçŠæ¢ãããŠããã¹ã±ãŒã«ã«äžèŽããããã«ã«ãŠã³ããå€æŽãããŸãã å®çŸ©ãããã¹ã±ãŒã«ã¯ã1ã®ã¹ã±ãŒã«ãæå³ãç¶ããããšã¯ãããŸããã
--force-recreate
ãããªãã®ããyamlã§å®çŸ©ãããŠãããããé«ãå Žåã¯ãã«ãŠã³ãããã®ãŸãŸã«ããŠããå¿
èŠããããŸãããä»ã®å±æ§ãšäžèŽããããã«ãã¹ãŠã®ã³ã³ãããŒãåäœæããŸãã
docker-compose up web=2
ãªã©ãåŒã³åºãããšã§ãçŸåšscale
ã§ã§ããããã«ãã³ã³ããã匷å¶çµäºã§ããããšãç§ã«ã¯çã«ããªã£ãŠããŸãã
+1
+1ïŒ @pierrreãå°ããã
+1
scale = xã®å Žåã¯+1ã
ããã«é¢é£ããŠãç§ã¯ã·ã³ã°ã«ãã³ã説æããæ¹æ³ã倧奜ãã§ãã scale=1
ã¹ã±ãŒã«ãªãã·ã§ã³ã§ããã§æåããå Žå
+1
äžæµããããã«ã€ããŠæ°ããããšã¯äœãèŠãŠããŸãããå人çã«ã¯ãããããããã¯ã§ãããã©ããã確èªããæ©äŒããããŸããã§ããã
ããããšãã
ãžã§ã€ãœã³ãã«ãº
2016幎8æ8æ¥ã«ã¯ã17:19ã§ãlavvy [email protected]æžããŸããïŒ
ã¹ã±ãŒã«ãªãã·ã§ã³ã§ããã§æåããå Žå
â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããããã¹ã¬ããããã¥ãŒãããŠãã ããã
+1
+1
+1
+1
+1ïŒ @pierrreãåã³å°ããã
+1
ç¹°ãè¿ãã«ãªããŸãã
scale = 0
ãã¹ãããããã°ã«åœ¹ç«ã¡ãŸãã éåžžã¯èµ·åããããªãããå®çŸ©ããããµãŒãã¹ãªã©ããããŒãããŸãããããã¯éåžžããã¡ã€ã«å
ã®ä»ã®ãµãŒãã¹ã®ã³ã³ããã¹ãã§äœ¿çšãããããã§ãã
ã¹ã±ãŒã«= 1
ç§ã¯ãããã®ãã¡ã®1ã€ã ãã欲ããã®ã§-_ever_ã MariaDBã¯ã©ã¹ã¿ãŒã§ã¯ãç¹å®ã®ã¹ãã¬ãŒãžãšã³ãžã³ïŒSpiderãColumnStoreãªã©ïŒã§æ§æãããåäžã®ããŒãã®ã¿ãå¿
èŠã«ãªãå ŽåããããŸãã
ã¹ã±ãŒã«= n
ããšãã°ããnããµãŒãã¹ãå®è¡ããå¿
èŠãããããšãããã£ãŠãããããåžžã«1ã€ã®ãã©ã€ããªïŒæ§æããïŒãš2ã€ã®ã»ã«ã³ããªïŒãã©ã€ããªãšã¯ç°ãªãæ§æïŒãæã€MariaDBã¯ã©ã¹ã¿ãŒããããŸãã
@alvinrã¯ç§ã«ã¯å®å šã«çã«ããªã£ãŠããŸãã ããã©ã«ãã®ç¢ºçã¯1ã§ãã
å 責äºé ïŒç§ã¯ãã©ãœã³ãäžéåã®ä»£è¡šã§ã¯ãããŸãã
ããã¯ãDockerãµããŒãããŒã ã«ãã£ãŠ1幎以äžæŸæ£/延æããããéåžžã«åçŽãªæ©èœãªã¯ãšã¹ãã®ããã«å¥ã®äŸã§ãã https://github.com/docker/docker/pull/12749ã¯å¥ã®äŸã§ãã KubernetesãšMarathonã«ã¯ãããªãåãããããã®ãªãã·ã§ã³ãããïŒãã€ã³ã¹ã¿ã³ã¹ãïŒmarathon.jsonãã¡ã€ã«ã®3ïŒãèªåã¹ã±ãŒãªã³ã°ãå®è£ ãããŠããŸãã ãã°ããã®éãDockerããŒã¿ã»ã³ã¿ãŒãšçŸ€ãããç§ãé ãããŠããã®ã¯ãDockerãµããŒãã°ã«ãŒãã®äžæ¬æã§ãã
Kontenaã«ã¯ãããinstances: 3
ïŒhttps://www.kontena.io/docs/references/kontena-ymlïŒ
ãããè¡ãå¥ã®æ¹æ³ã¯ãäœæãã¡ã€ã«ããŒãžã§ã³2ã«scale
ã»ã¯ã·ã§ã³ãè¿œå ããããšã§ãã
ãµãŒãã¹ã§äœ¿çšãããdockerã®ã¿ã®ãªãã·ã§ã³ãšæ··åããããšã¯ãããŸããã
äŸã¯æ¬¡ã®ãšããã§ãã
version: "2"
services:
worker:
image: something
command: work
scale:
worker: 2
scale: 0
ãæå®ããæ©èœãåããããã¯ã1ã€ã®ç³ã§2矜ã®é³¥ã殺ãå¯èœæ§ãããããã1ã€ã¯https://github.com/docker/compose/issues/1896ã§ãã
ããã¯ç°¡åãªããšã®ããã§ãã
3ã€ãŸãã¯4ã€ã®nodejsã€ã³ã¹ã¿ã³ã¹ã§nginx + nodejs + mongodbããããã€ããããšæããŸãã ã¢ããªãèµ·åãããã³ã«ã
ãããè¡ãããã®ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãããå Žåã¯ãymlãã¡ã€ã«ã«å ¥ããŠã¿ãŸãããïŒ
docker-ã¹ã±ãŒã«ã¢ãããæ§æããnodejs = 4
ããŸãã
ç°¡åã ã 圌ãã¯ãä»ã®èª°ãããããæ§ç¯ããç§ãã¡ããããæ§ç¯ããããšããã«ãŒãã«è¡ããããšæã£ãŠããŸã
ããããµããŒãããããšããŸãããããŒã¹Dockerãé€ããŠã圌ãã¯äœæããŠããŸãã
ãªãã§ãã äœæ²ã¯åœŒããæ¶è²»ããå¥ã®è£œåã§ããããããŠä»åœŒãã¯æã£ãŠããŸã
ããããµããŒã/æ¡åŒµããæ¹æ³ãããããªãããããã©ãœã³ã
kubernetesã¯çŸ€ãããã人æ°ããããŸãã
2016幎10æ16æ¥ååŸ9æ36åããMichaelSchwartzã [email protected]
æžããŸããïŒ
ããã¯ç°¡åãªããšã®ããã§ãã
3ã€ãŸãã¯4ã€ã®nodejsã€ã³ã¹ã¿ã³ã¹ã§nginx + nodejs + mongodbããããã€ããããšæããŸãã æ¯æ¥
ã¢ããªãèµ·åãããšãããããè¡ãããã®ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãããå Žåã¯ãymlãã¡ã€ã«ã«å ¥ããŠã¿ãŸãããïŒ
docker-ã¹ã±ãŒã«ã¢ãããæ§æããnodejs = 4
ããŸãã
â
ããªããã³ã¡ã³ãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/docker/compose/issues/1661#issuecomment -254093296ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AES98nZt1uIejnIU9iajVt54QbzdlVK1ks5q0tETgaJpZM4FS8ZQ
ã
æ£çŽãªãšããããããéåžžã«æçœã§ããããã«æããããããããã«_any_ããã·ã¥ããã¯ãããããšã«å°ãé©ããŠããŸã...
@westlakem Docker for MacOSãåãéåœããã©ããªãããšãæåŸ ããŸããããããŸãããã°ãUnikernelã®é£äžãåºå·ããŸãã
äžåºŠã«ãã®æ©èœãµã€ãºã§å®å šãªã¹ã¿ãã¯ãç«ã¡äžããã®ã¯çŽ æŽãããããšã§ãã çŸåšã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ããµãŒãã¹ã¹ã¿ãã¯ãæ£ããæ©èœããã«ã¯ãworkers = 16ããå¿ èŠã§ãã
ããã¯ã²ã©ãã§ãïŒ
docker-compose up -d
docker-compose scale workers=16
docker-compose down
docker-compose up --abort-on-container-exit
ããã¯æããã«æ¬¡ã®ãããªãã®ã«çœ®ãæããããšãã§ããŸãã
docker-compose up --abort-on-container-exit --scale workers=16
ç·šéïŒãRancherãã«ã¯docker-composeã®ãããªæ§æããããåæã¹ã±ãŒã«ãã©ã¡ãŒã¿ããµããŒãããŠããããšãããããŸãïŒ https ïŒ
åé¿çã¯ãYAMLã¢ã³ã«ãŒããã³ããŒãžæ©èœã䜿çšããdocker-composeãã¡ã€ã«å ã§ãµãŒãã¹ãè€è£œããããšã§ãã
services:
toscale: &my_service
... # all paramteres
# second instance
toscale2:
<< : *my_service
ports:
- 81:80 # override port if needed
NS ...
ããã¯ãšãŠã䟿å©ã§ãïŒ
ããã¯è¶ å¥åŠã§ãããã¯ååšããŸãã...
ç§ã¯ãšãŠãæ ãè ãªã®ã§ãéè€ãããµãŒãã¹ãäœæããªããã°ãªããªããªãå¯èœæ§ããããŸãã
ããã¯ãcomposerãã¡ã€ã«v3 https://github.com/aanand/compose-file/blob/master/schema/data/config_schema_v3.0.jsonã§ãã§ã«äœæ¥äžã§ãããdocker-composev1ã§ãã§ã«ãµããŒããããŠããŸãã 10.0-rc1
圌ãã®ããµãŒãã¹ããªãã¡ãªã³ã°ã«ã¯ãã©ã¡ãŒã¿ãçµã¿èŸŒãŸããŠããŸãã
ãã®åé¡ã®è³Œèªè
ã¯ãéçºããŒã ã®èª°ãç§ãã¡ã«ãã®ããšãç¥ãããŸããã§ãã
ããã¯ãµãŒãã¹è£œåã§æäŸãããŠããã®ã§ã誰ããRCããŒããèªãŸãªããã°ãªããŸããã§ãã
æŽå¯ã®ããã«1.10ã®ããã«ã Dockeræ
åœè
ã¯ã©ãã«ããŸããïŒ
2017幎1æ6æ¥éææ¥åå6æ30åãYasmany Cubela Medina <
[email protected]>ã¯æ¬¡ã®ããã«æžããŠããŸãïŒ
ããã¯ãcomposerãã¡ã€ã«v3https ïŒ//github.com/aanand/ã§ãã§ã«äœæ¥äžã§ã
æ§æãã¡ã€ã«/blob/master/schema/data/config_schema_v3.0.json
ãããŠãdocker-composev1.10.0-rc1ã§ãã§ã«ãµããŒããããŠããŸãâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/docker/compose/issues/1661#issuecomment-270886347 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AES98nOAW-h0BVaR8D9uQfLpMCQRfdyfks5rPiXEgaJpZM4FS8ZQ
ã
+1
+1
ããã«ã¡ã¯ãé¢é£ãã質åããããŸãã
docker-compose up
ãä»ãŸã§ã«èšå®ããã¹ã±ãŒã«ãèŠããŠããã®ã§ã¯ãªãããšæã£ãããšã¯ãããŸãããã
ããšãã°ã docker-compose scale nodejs_web=4
ããdocker-compose down
ã
次ã«ã docker-compose up
åéãããšã4ã€ã®nodejs_webãéå§ãããŸãã
scale
ã³ãã³ããæ°å4ãã©ãã«ä¿åããã®ãç¥ãããã§ããïŒ
docker-compose.ymlã¯æ¬¡ã®ããã«ãªããŸãã
version: '2'
services:
nodejs_web:
image: node
command: node
ïŒ2496ã®@dnephinææ¡ããµããŒãã
ãã®åºæ¬çãªæ©èœãæããŠãã ããã
æ°ããããŒãžã§ã³ã®Dockerã®ãµãŒãã¹ã¯ããã¬ããªã«ãæ©èœãæäŸããŸãã
15:28ææã2017幎3æ20æ¥ã«ã¯ãalwaysastudent [email protected]
æžããŸããïŒ
ïŒ2496ã®@dnephinhttps ïŒ//github.com/dnephinææ¡ããµããŒãã
https://github.com/docker/compose/issues/2496
ãã®åºæ¬çãªæ©èœãæããŠãã ãããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/docker/compose/issues/1661#issuecomment-287870998 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AES98uWGEnbyCFyxNSSlv7QkXy5oBek1ks5rntNBgaJpZM4FS8ZQ
ã
@ westlakem-ãã®æ©èœã¯çŸ€ãã®ããã®ãã®ã§ãã éåžžã®ãµãŒãã¹ã¹ã±ãŒãªã³ã°çšã§ã¯ãããŸããã
éåžžã«å€ãã®é·æãå°æ°ã®çæã ãã®åé¡ã®åé¡ã¯äœã§ããïŒ
https://github.com/docker/compose/issues/2496ã«scaleã³ãã³ããå®å šã«åé€ããããšã«é¢ããæè¿ã®ææ¡ããã
äœæãã¡ã€ã«ã«initial_scale: 3
ãªãã·ã§ã³ããªãçç±ãçç±ãæ¬åœã«ããããŸããïŒ scale: 3
ã ãã§ã¯ãããªãçç±ã¯ããããŸãïŒ
1.13.0ã§å®è£ ãããŸããã çæ§ããã®ãã£ãŒãããã¯ãšå¿èã«æè¬ããŸãã
@ shin-ãªãããã¯ééãããŠãããšèŠãªãããã®ã§ããïŒ ãã¹ãŠãèªååãããããŒãžã§ã³ç®¡çãããŠãã倧èŠæš¡ãªã¢ããªã管çããå ŽåãDockerãå®è¡ããAnsibleãå€æŽããŠãå®è¡ããããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ã®æ°ãå®çŸ©ããå¿ èŠããããŸãã
Ansibleã¯ãDockerãå®è¡ã§ããããã«ãã¹ãŠãã»ããã¢ããããå¿ èŠããããŸãã Dockerã¯ãã¢ããªã«å¿ èŠãªãµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ã®æ°ãå®çŸ©ããå¿ èŠããããŸãã ãµãŒãã¹ã®ã€ã³ãã³ããªãç¥ãã®ã¯Dockerã®è²¬ä»»ã§ãããã¹ãã³ã¢ããããã³ã³ããã®æ°ãç¥ãããã«DockerãåŒã³åºãã®ã¯Ansibleã®è²¬ä»»ã§ããïŒ
@greenscarç³ãèš³ãããŸããããåé¡ãäœã§ãããæ£ç¢ºã«ã¯
ãããããŒãžã§ã³3ã«ååšããªãã®ã¯ãªãã§ããïŒ ãdeploy.replicasããšãupãã¯åçã§ã¯ãªããããéåžžã«æ··ä¹±ããŸãããã®æ©èœã¯v3ã«ã¯ãªããã®ãšèšããŸãã
@cgarciae deploy.replicas
ã¯ã scale
ãšåãç®çãæãããŸãã ãªãããªãã®èŠè§£ã§ã¯ãããã¯åçã§ã¯ãªãã®ã§ããïŒ
@ shin-ã¹ãŠã©ãŒã ãäœæããã«docker-compose up -d
ã®ã¿ã䜿çšããå Žåãdockercomposeã¯ããããã€ãèšå®ãç¡èŠããããã«æ瀺ããŸãã
@cgarciae Swarmãäœæããããªãã®ã«ããªãv3ãã¡ã€ã«ã䜿çšããŠããã®ã§ããïŒ
dockerã䜿çšããŠãã人ã¯èª°ã§ããscaleãã©ã¡ãŒã¿ãŒãdocker2ãŸãã¯3ãã¡ã€ã«ã®ããããã§æ©èœããããšãæåŸ ããŠãããšæããŸãã ããããªãçç±ã¯ãªããdeploy.replicasã®ããã©ã«ãå€ãèšå®ããããšãã§ããŸãã ãããã£ãŠãdeploy.replicasãèšå®ãããŠããå Žåã矀ãã®ã¹ã±ãŒã«ããªãŒããŒã©ã€ãããŸãã ãã®ç»åã®äœãåé¡ã«ãªã£ãŠããŸããïŒããã¯èª°ããæåŸ ããããšã§ãïŒãã¡ããããããæ°ã«å ¥ããªãå Žåã¯ãdocker-compose.ymlã§äœ¿çšããå¿ èŠã¯ãããŸããïŒã
ååã®åé 眮以éã®ä»¥åã®ããã«ã¹ã±ãŒã«ã¢ããããã®ãå¿ãããããã¹ã±ãŒã«ãã©ã¡ãŒã¿ãæ¬ èœããŠããããããµãŒãã¹ã倱æããŸãã-.-ãªãããããµãŒãã¹ãç¯çŽããå®è¡å 容ã«ãã£ãŠã¯åœãæãããšã«ãªãã®ã§ããããã
ãã®åé¡ããããããŸãã Dockeræ§ææ§æå ããéå§ãããµãŒãã¹ã®æ°ãæå®ããæ¹æ³ããªãããã§ããïŒ dockercomposeããã¥ã¡ã³ãã«docker-composeã§æ©èœããªããã®ã«é¢ããããã¥ã¡ã³ããããããããããšã¯ããã«æ··ä¹±ããŸã...
ã¡ãã£ãšåŸ
ã£ãŠãã ãããdockercomposeconfigãversion: "2.2"
ã«å€æŽãããšã scale: 2
䜿çšã§ããŸããããã以éã®ããŒãžã§ã³ã«ç§»åãããå Žåã¯ããããè¡ããªãã·ã§ã³ã¯ãããŸãããïŒ
ããããŸããããã®ãããŒãžã§ã³ãã®åé¡ã¯ãå®éã«ã¯ããŒãžã§ã³ããã§ã«è¡šç€ºãããŠããããšãæå³ãããã®ã§ã¯ãããŸãããhttpsïŒ//github.com/docker/compose/issues/4693
2.2ã«ã¯ååšããªãããã€ãã®æ§æãå¿ èŠãªãããv3.6ã䜿çšããŸãã ããŒã«ã«éçºã§ã¯ã矀ãã䜿çšããŸããããdocker-compose.overrides.ymlã®ããã€ãã®ã³ã³ãããŒã«scale = 0ãèšå®ããããšæããŸãã ãããã®ããã€ãã¯ãfrontendbuildã³ã³ããã®ãããªãã«ãããã»ã¹å°çšã§ããããã§ãã ãã®ã³ã³ãããŒã¯ãå®è¡äžã®ä»ã®ã³ã³ãããŒãšäžéšã®ããªã¥ãŒã ãå ±æããŸãããdocker-composeupã§ãããã®ä»ã®ã³ã³ãããŒãšäžç·ã«éå§ããªãã§ãã ããã ãããã£ãŠãbuildcontainerã¯runã³ãã³ãã§å®è¡ããã ãã§ãã ã¯ããdocker-composeupãåŒã³åºããšãã«--scaleparamãèšå®ã§ããŸãããæ§æã«çŽæ¥æžã蟌ãæ¹ããããšæããŸãã :)
ã¹ã±ãŒã«ãã©ã¡ãŒã¿ãããããšãã 誰ã§ãConsulãšVaultã®HAæ§æã䜿çšã§ããããã«ãéå®çšŒåã®docker-compose.yml
䜿çšããããšãã§ããŸããã scaleãã©ã¡ãŒã¿ãŒã«ãããããŒã«ã«HAæ§æã®ããããžã§ãã³ã°ã容æã«ãªããŸããã https://github.com/samrocketman/docker-compose-ha-consul-vault-ui
ãã®å Žåã誰ããHAæ§æã§ConsulãšVaultãè©ŠããŠãConsulDNSã䜿çšããããšã®ã¿ãç®çãšããŠããŸãã
ã©ã®ããŒãžã§ã³ã®dockercomposeãå®è¡ããŠããŸããïŒ v3以éããã®æ©èœã¯åé€ãããããïŒã€ãŸããå®è£ ãããããšã¯ãããŸããïŒãç¡èŠãããŸãã https://docs.docker.com/compose/reference/scale/ãåç §ããŠ
æ©èœãäžè¶³ããŠãããããv3圢åŒã䜿çšããããšã¯ãããŸããã 䜿çšããŠããæ©èœã«å¿ããŠãæãäœã2.1ãŸãã¯2.2圢åŒã䜿çšããåŸåããããŸãã
ç·šéïŒç§ãv3ãã©ãŒããããé¿ãããšèšãã®ã¯èšããŸã§ããããŸããã ç§ãäœæãã¡ã€ã«ãæžãã«è¡ããšããããã¯éåžžç§ã䜿ããããã®ã倱ã£ãŠããŸãã
ããŠãããªãã¯ã¹ãŠã©ãŒã ã¹ã¿ãã¯ã䜿ã£ãdockercomposeã«ã€ããŠè©±ããŠãããšæããŸãããããçç±ã§ãã ç§ã¯è©Šããããšã¯ãããŸãããããªãŒã±ã¹ãã¬ãŒã¿ãŒãšãã«ãããŒããªãã§dockercomposeã䜿çšããŠHAã«ã€ããŠè©±ãã®ã¯å¥åŠã§ãã ããã¯ãpocããŸãã¯ãã¹ãç®çã§ããïŒ ãšã«ãããç§ã¯ãã®æèã§è©Šããããšã¯ãããŸãã
ãã®å ŽåãHAã¯åã«é äºã¯ã©ã¹ã¿ãŒãšããŒã«ãã¯ã©ã¹ã¿ãŒãæããŸãã ããã¯ãå®éšãšããŒãã¹ãã©ããã®å®¹æãã«å©çšã§ããæŠå¿µå®èšŒãšããŠæ©èœããããšãç®çãšããŠããŸãã HAã¯ãDockerHAããã«ããã·ã³HAãæããã®ã§ã¯ãããŸããã å®éšè ãã¯ã©ã¹ã¿ãŒã³ã³ããã®1ã€ã匷å¶çµäºããé äºãããŒã«ããµãŒãã¹ã圱é¿ãåããŠããªãããšã確èªã§ããã®ã¯HAã ãã§ãã
æãåèã«ãªãã³ã¡ã³ã
éåžžã¯éå§ããããªããã¹ãé¢é£ãµãŒãã¹ã®ymlã«
scale=0
ãèšå®ããããšæããŸãã ãããã®ãµãŒãã¹ãdocker-compose run
ãŸãã¯æ瀺çãªscale
æ瀺çã«äœæãããã ãã§ãã