åãã€ã¡ãŒãžã䜿çšããŠãç°ãªãæ§æãã¡ã€ã«ã§ç°ãªããµãŒãã¹ããããã€ãããã
çŸåšãããéæããããã«ç§ã¯ã§ãã
æåã®è§£æ±ºçã¯å®è¡å¯èœã§ã¯ãªãã2çªç®ã®è§£æ±ºçã¯ããéãã§ãã åæãç¶æããã®ã§ã¯ãªãããã¡ã€ã«ãã³ããŒãããã ãã§ã
ææ¡ãããæ§æïŒ
myservice:
image: foo/bar
copy:
- src:dest
ããã§copy
ã®ã»ãã³ãã£ã¯ã¹ã¯äœã§ããïŒ docker-compose
ãå®è¡ãããŠãããã¹ãããã docker cp
ã䜿çšããŠãæ°ããå®è¡ãããŠããã³ã³ãããŒã«ãã¡ã€ã«ãã³ããŒããŠããŸããïŒ
AFAIKãããè¡ãçŸåšã®æ¹æ³ã¯_ãããŸãã_ïŒ
èŠãïŒ
`` `ïŒïŒbash
$ docker cp -h
䜿çšæ³ïŒdocker cp [ãªãã·ã§ã³] CONTAINERïŒPATH HOSTDIR |-
ãã¡ã€ã«/ãã©ã«ããŒãã³ã³ãããŒã®PATHãããã¹ãã®HOSTDIRã«ã³ããŒããŸã
ã³ãã³ããå®è¡ããŸãã '-'ã䜿çšããŠãããŒã¿ãtarãã¡ã€ã«ãšããŠSTDOUTã«æžã蟌ã¿ãŸãã
--help = falseå°å·ã®äœ¿çšæ³
`` `
ããã§ã®ã³ããŒã®ã»ãã³ãã£ã¯ã¹ã¯äœã§ããïŒ docker-composeãå®è¡ãããŠãããã¹ãããdockercpã䜿çšããŠãæ°ããå®è¡ãããŠããã³ã³ãããŒã«ãã¡ã€ã«ãã³ããŒããŠããŸããïŒ
ã¯ã
AFAIKãããè¡ãçŸåšã®æ¹æ³ã¯ãããŸããïŒ
docker cp
ã³ãã³ãããããå®è¡ã§ããªãããšãããããŸãã ããã§ãããã¹ãåŽã®ã³ã³ããããŒã¿ã«ã¢ã¯ã»ã¹ããããšã§å¯èœã§ãïŒç§ã¯éãã§ãïŒ
ãããç§ã¯ãããè¡ãããšããŸã£ãã䞻匵ããŸããã ããã«ãããDockerã«é¢ããå€ãã®ããšãæ³å®ãç ŽãããŸãã ããã¯ã䜿çšãããŠããåºç€ãšãªãã¹ãã¬ãŒãžãã©ã€ããŒã«ã倧ããäŸåããŸãã Dockerã¯äžå¯ç¥è«è ã§ããããšãæå³ãããŠããŸãã ç§ãã¡ã¯ããªãã®åé¡ã«å¯ŸããŠå¥ã®è§£æ±ºçã_ãã¹ã_ãšæããŸã:)
docker-1.8ãdocker cp
ãä»ããã³ã³ãããŒãžã®ã³ããŒã®ãµããŒããè¿œå ããswarm-0.4.0-rc2ãdocker cp
ãµããŒããè¿œå ããã®ã§ãäœæã¬ãã«ã§ãã®åé¡ãåæ€èšããã®ã¯çŽ æŽãããããšã§ãã ãŠãŒã¹ã±ãŒã¹ã¯æ¬¡ã®ãšããã§ãïŒããã¯ãçŸåš_ã»ãŒ_æ¬çªç°å¢ã§å®éã«è¡ã£ãŠããããšãåæ ããŠããŸãïŒã
CIã§æ§ç¯ãããã€ã¡ãŒãžã¿ã°ã«ãã£ãŠå€ãã®ã³ã³ãããŒã«ã€ããŠèšåããŠããdocker-compose.ymlãã¡ã€ã«ïŒã€ãŸããæ¬çªç°å¢ã§ã¯build:
ã䜿çšããŠããŸãããçŸåšã¯äœ¿çšã§ãããããããŸããããéå»ã®ãªãªãŒã¹ã§ã¯swarmã§ã¯ããŸãæ©èœããŸããã§ããïŒããšãã°ããããã€ç°å¢ã«å®å
šã«äžèŽãããããã³ã°ãããéçHadoopæ§æãã¡ã€ã«ãå¿
èŠã§ãã çŸåšãdocker-compose.ymlãååšãããã£ã¬ã¯ããªãã矀ãã®_each_ã¿ãŒã²ããdocker-machineã®æ£ç¢ºãªãã¹ã«æåã§åæããå¿
èŠããããŸãã 次ã«ã volume:
è¡ã®ã¹ã¿ãã¯ãè¿œå ããŸãã
docker cp
ããµããŒããããšãã·ã¹ãã å±éæ¹æ³ã§ã«ã¹ã¿ã æ§æãã¡ã€ã«ã®åæãåé€ã§ããããã«ãªããæ§æã®å€æŽããã€æ¿å
¥ãããããããé©åã«å¶åŸ¡ã§ããããã«ãªããŸãïŒ volume:
è¡ã«èšèŒãããŠãããã¡ã€ã«ãå€æŽãã人ã圱é¿ãåããããïŒä»¥åã«ãããã€ããããã¹ãŠã®ã³ã³ãããŒïŒããã³å
éšå®è£
ãåè¿°ã®æ§æãåèªã¿åããããšãã¯ãã€ã§ãããããã次ã®ã³ã³ãããŒã®åèµ·åæãããããã³ã³ãããŒå
ã®ããŸããŸãªããŒã«ã®èµ·åæãäºæããªãå¯èœæ§ããããŸãïŒããã³å°æ¥ïŒäºæ³ãããïŒã
OTOHãïŒäžèšã§ç°¡åã«èª¬æããããã«ïŒå€åbuild:
ã䜿çšããå¿
èŠããããŸãã ããã§ã®æ¬ ç¹ã¯ããããã€ã¡ã³ãã³ã³ããã¿ã€ãããšã«è¿œå ã®Dockerfileãäœæããå¿
èŠãããããšã§ãã 1ã€ã¯CIãã«ãã€ã¡ãŒãžçšã§ããã1ã€ã¯éçæ§æãã¡ã€ã«ã€ã³ãžã§ã¯ã¿ãŒçšã§ãã copy:
ãžã®æè¿ã®å€æŽã«è£æã¡ãããã³ã³ã§docker cp
ãã¡ããšç§ãã¡ã¯ãã¹ãŠããã®éè€ãé¿ããããã«ã§ããããã«ãªããŸãã
ããã§ããããªã¥ãŒã ã䜿çšããæ¹ããããè¡ãããã®ããè¯ãæ¹æ³ã®ããã§ãã ãã¹ãããªã¥ãŒã ã§ããå¿ èŠã¯ãªããããŒã¿ããªã¥ãŒã ã³ã³ããã§åäœããå¿ èŠããããŸãã
Bedies docker-machine
ã¯docker-machine scp
ããããŸãããããã¯ãã·ã³ã®æºåã§å®è¡ã§ããŸãã 次ã«ã docker
ãŸãã¯docker-compose
ã®éåžžã®æ¹æ³ã§ãã¹ãããªã¥ãŒã ãå®è¡ã§ããŸãã
ãããã§ããããªã¥ãŒã ã䜿çšããæ¹ããããè¡ãããã®ããè¯ãæ¹æ³ã®ããã§ãããã¹ãããªã¥ãŒã ã§ããå¿
èŠã¯ãªããããŒã¿ããªã¥ãŒã ã³ã³ããã§åäœããå¿
èŠããããŸããã
ã¿ãŒã²ããã矀ãã§ããå Žåããããã©ã®ããã«æé©ã§ããããããããŸããã AFAICSãããŒã¿ããªã¥ãŒã ã³ã³ããããã¹ãŠã®å¯èœãªã¹ãŠã©ãŒã ããŒãã«ååšããå¿
èŠãããããšãè¡šçŸããæ¹æ³ã¯ãããŸããã
ä»ã®ã³ã³ããalaã¹ã±ãžã¥ãŒãªã³ã°æŠç¥ãšåãããã«ããšã«ãã矀ãèªäœãä»ããŠããŒã¿ããªã¥ãŒã ã³ã³ãããããŒãã«ãããã€ããããšã¯ã§ããŸãããïŒ
ãBediesdocker-machineã«ã¯ããã·ã³ã®æºåã§å®è¡ã§ããdocker-machine scpããããŸãããã®åŸãdockerãŸãã¯docker-composeã®éåžžã®æ¹æ³ã§ãã¹ãããªã¥ãŒã ãå®è¡ã§ããŸããã
ç§ã¯çŸåšãããè¡ã£ãŠããŸãã çãã§ãã ãããã€ã¡ã³ãã管çãã人ã
ã¯ãæ§æãã¡ã€ã«ã移åããã®ãå¿ããŠããŸãã docker-compose ymlã§ãµããŒããããŠããå Žåã¯ãæåã®æé ãªãã§ã³ã³ãããŒãåäœæããããã³ã«çºçããŸãã
ãä»ã®ã³ã³ããã¢ã©ã¹ã±ãžã¥ãŒãªã³ã°æŠç¥ãšåãããã«ããšã«ãã矀ãèªäœãä»ããŠããŒã¿ããªã¥ãŒã ã³ã³ãããããŒãã«ãããã€ããããšã¯ã§ããŸãããïŒã
å¯èœãããããŸããããã¹ã±ãŒãªã³ã°ã®èŠ³ç¹ããã¯ã©ããªããããããŸããã
ãä»ã®ã³ã³ããã¢ã©ã¹ã±ãžã¥ãŒãªã³ã°æŠç¥ãšåãããã«ããšã«ãã矀ãèªäœãä»ããŠããŒã¿ããªã¥ãŒã ã³ã³ãããããŒãã«ãããã€ããããšã¯ã§ããŸãããïŒã
ããŒããç§ã®çŸ€ãããµã€ãº10ããŒãã§ããããšãããã£ãŠããå Žåã ç¹å®ã®Dockerãšã³ãžã³ããŒãã§éè€ãèš±å¯ããªããšããããªã·ãŒã䜿çšããŠãããŒã¿ããªã¥ãŒã ã³ã³ãããŒããµã€ãº10ã«ã¹ã±ãŒãªã³ã°ã§ããŸããïŒ åé¡ã¯ïŒç§ãäœããèŠéããŠããªãéãïŒãããšãã°ããã®ããŒã¿ããªã¥ãŒã ãåç
§ããå¿
èŠãããã³ã³ããã«ã¯ãäžèŽããã€ã³ããã¯ã¹ãæã€ã³ã³ãããã--volume-ãžã®æ¹æ³ããªãããšã§ãã çãããç§ã¯ãã®åé¡ã2ãæéèŠãŠããŸããã ç§ãã§ããæåã®ããšã¯ã docker-machine scp
ã䜿çšããã¹ã¯ãªãããäœæããããšã§ãã ãã ããæ§æãã¡ã€ã«ãç·šéããåŸã docker-compose up
åã«æåã§è¡ãæé ã§ãã ãŸããdocker-compose.ymlã®ã«ãŒããšããŠçŸ€ãã®ã¿ãŒã²ãããã·ã³ã«æ£ç¢ºãªãã¹ãæžã蟌ãããšãã§ããå¿
èŠããããŸãïŒã€ãŸãã倧ããªããã¯ã®ãããªã«ãããããŸãïŒã
ãããããå·¥å Žã§ã®ç§ã®åªåã¯ãDockerãã·ã³ãèµ·åãããæ£ãããããŒã¿ãããã«äœ¿çšã§ããç¶æ
ã§clsuterã矀ãããããã®ããã»ã¹ãèªååããã®ã«åœ¹ç«ã€ã§ããããïŒ ïŒ_ãŸã éçºã®åæ段éã§ããã docker-machine
ãšdocker-compose
ã1ã€ã®setp_0ã«çµã¿åãããããã«äœ¿çšããŠããŸãã
copy
ã¯æäœã§ããããµãŒãã¹æ§æã®äžéšã§ã¯ãªããããäœæãã¡ã€ã«ã«ã¯å±ããŠããŸããã
Docker 1.9ã¯æ°ããããªã¥ãŒã APIãè¿œå ããŠãããããªã¥ãŒã ãã©ã€ããŒã¯ãã§ã«å«ãŸããŠããŸãã ããªã¥ãŒã ã¯ãããããµããŒãããããã®æ¬åœã«æ£ããæ¹æ³ã§ãã ãã¡ã€ã«ãã³ããŒããããšããªãã
ææ¡ãããããšãïŒ ããããããã¯ä»ã®ãšããäœæ²ã®ãã¶ã€ã³ã«æ¬åœã«åã£ãŠãããšã¯æããŸããã
ã³ããŒã¯æäœã§ããããµãŒãã¹æ§æã®äžéšã§ã¯ãªããããäœæãã¡ã€ã«ã«ã¯å±ããŸããã
æ§æãã¡ã€ã«ã ããã³ããŒãããå Žåã¯ã©ããªããŸããïŒ ïŒDockerã®çŸ€ãã«å¯ŸããŠãvolume_fromã¯æ©èœããŸããïŒ
ç§ã¯ãŸã£ããåãç¶æ³ã«ãããã«ã¹ã¿ã mysqlãnginxãhaproxyãªã©ã®æ§æãã¡ã€ã«ãã³ããŒãããã®ã§ãããæ¬çªç°å¢ã«ã¯ã©ã¹ã¿ãŒãããã1ã€ã®copyã³ãã³ãã䜿çšããŠæ§æãããŒã«ã«ãããªã¢ãŒãã«ã³ããŒãã代ããã«
ã€ã¡ãŒãžã䜿çšãããã«ããããã«ããå¿ èŠããããŸãããäœãå¿ èŠã¯ãªããã³ãã³ããã³ããŒããã ãã§ãå±éãšéçºã®æéãå€§å¹ ã«ç¯çŽã§ããŸãã
ããã¯ããããç°¡åã«ã¹ã¯ãªããåã§ããªãããšã«åé¡ããªã人ãå¢ããŠããããšãç§ã¯éåžžã«é©ããŠããŸãã Dockerã«ã€ããŠééã£ãŠãããšæããŸããïŒ ç§ã®è§£æ±ºçã¯ãansibleã䜿çšããŠæ§æãã¡ã€ã«ããã¹ãã«ã³ããŒãããã¹ããããããå¿ èŠãšããã³ã³ãããŒã«ããªã¥ãŒã ããŠã³ãããããšã ãšæããŸãã
åãåé¡ãæã€ã Nåã®ç°ãªããµãŒãã¹ã«Dockerfileãåå©çšããŠããŸãããç¬èªã®COPYã³ãã³ãã䜿çšããŠNåã®ç°ãªãDockerfileãäœæãããããã®ããã ãã«ããªã¥ãŒã ãäœæãããããããããŸããã
ãšããã§ãç§ã¯çŸåšãæ°åè¡ã®sedã³ãã³ããå®è¡ããããšã§ããã解決ããŠããŸã-httpïŒ//unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files
ããããæé©ãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããããdocker-composeããã¡ã€ã«ã®ã³ããŒããµããŒãããŠããªãããšãèæ ®ãããšæ©èœããŸãã
ãšããã§ãããŠã³ããšã³ããŒã¯ãã¡ããå¯èœã§ãããdocker-composeã®èªååã®ãªãã¡ãŒã«åããŸã-ãã¹ãŠãæåã§å®è¡ãããå Žåã¯ãdocker-composeã䜿çšããŸãããïŒ
Dockerãæ·±ãæãäžããã»ã©ããã®ããŒã«ã®å€ãã¯ãhelloworldãã«é©ããŠããããã«èŠããŸã/ã\ shell \ã³ãã³ã\ like \ this \ "ã§ãã®ã¯ãŒã«ãªãã®ãã©ãã ãéãã¹ãã³ã¢ããã§ãããèŠãŠãã ããåäžãã·ã³ã¿ã€ãã®ãŠãŒã¹ã±ãŒã¹ïŒdocker-composeãå«ãïŒã ãããã¯ããã«è¶ ãããšãäºæ ã¯éåžžã«è€éã«ãªãå§ããIMOã¯å°ã厩å£ããŸããããã¯ãåŸæ¥ã®ããããžã§ãã³ã°ããŒã«ãç»å Žããé©åã«äœ¿çšããã°1æ¥ãç¯çŽã§ããå Žæã§ãã
Dockerã€ã¡ãŒãžãèµ·åããããã«ååšããå¿ èŠã®ãããã·ã³åºæã®ããªã¥ãŒã ããã¡ã€ã«ãããã³ãã³ãã¬ãŒãåãããæ§æãã¡ã€ã«ãããå ŽåãAnsibleã䜿çšããŠã¹ãçãªæ¹æ³ã§ãã·ã³ãã»ããã¢ããããã®ã¯éåžžã«ç°¡åã§ããããšãããããŸããã æåŸã«ãAnsibleã䜿çšããŠdocker-compseãåŒã³åºãããæ§æãdockercomposeãšã»ãŒåãã§ããã€ãã®åªããããŒãã¹æ©èœãè¿œå ãããAnsibledockerã¢ãžã¥ãŒã«ã䜿çšããããšãã§ããŸãã
çµå±ã®ãšãããäžèšã®ã¢ãããŒãã«ããããã¹ãŠãã¹ã¯ãªããåããã¹ãçã«ããæãéèŠãªããšã«ãœãŒã¹ç®¡çã«ãã§ãã¯ã€ã³ããããšãã§ããŸãã
@dnephinäžèšã®äžéšã®äººã ã¯ãCPãæ§æã®äžéšã§ãããšãããŠãŒã¹ã±ãŒã¹ãææ¡ããŸãããCPã¯æäœå°çšã§ãããæ§æçšã§ã¯ãªããšããä»®å®ãåæ€èšããããšã¯çã«ããªã£ãŠããŸãã
ç°¡åãªäŸã¯ãã³ã³ãããŒãäœæããæ§æãæ£ããå Žæã«ã³ããŒããæ§æãã³ããŒããããã³ã³ãããŒãéå§ããããšã§ãã
ããã«ãããå®éã®æ§æãåã蟌ãŸããã³ã³ãããŒã®éå§æã«ã®ã¿æ§æããããã€ããã€ã¡ãŒãžãäœæã§ããŸãã
ééããªãéåžžã«åœ¹ç«ã¡ãŸãã çŸåšãpostgresã€ã¡ãŒãžãããŒã¿ããŒã¹ããã¯ãšã³ããšããŠäœ¿çšããŠããŸããã /docker-entrypoint-initdb.d
ãã©ã«ããŒå
ã®ã¹ã¯ãªãããæŽæ°ããããã ãã«ãã€ã¡ãŒãžãåæ§ç¯ããããããŸããã
æ©èœãå®è£ ãããããææ¡ããããªãã·ã§ã³ã奜ã人ã¯èª°ãããªãã®ã§ã人ã ã奜ãå®è¡å¯èœãªè§£æ±ºçãèŠã€ãããŸã§ãçããã¯ãã®åé¡ãå床éããŠã¿ãŸãããïŒ
@ctindelãè¿°ã¹ãããã«ããã®åé¡ã¯å床éãå¿ èŠããããŸãã
åé¡ãåéããŠãããããã®+1
ãªãŒããã³ã°ã+1ã
åéããã«ã¯+1ã
åéããã«ã¯+1ã
åéããã«ã¯+1ã
åéããã«ã¯+1ã
åéããã«ã¯+1ã
åéããã«ã¯+1ã
èªã¿åãå°çšããªã¥ãŒã ã®äœãåé¡ã«ãªã£ãŠããŸããïŒ
myservice:
image: foo/bar
volume:
- src:dest:ro
@michaelarnautsã¯ãããèŠ
ðåéã®ãã
åéããã«ã¯+1ã
åéããã«ã¯+1ã
åéããããã®+1
åéããããã®+1
åéããããã®+1
åéããããã®+1
åéããããã®+1
åéããããã®+1
Composeã§ã³ããŒãèš±å¯ããçç±ã¯æ¬¡ã®ãšããã§ãã
å€æ°ã®ã³ã³ããã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ããããŸãã è°è«ã®ããã«ãããããã¹ãŠãApacheãå®è¡ããããšãèŠå®ããŸãããã ãããã¯ãã¹ãŠãã/ var / www / partXãã®ãããªãã®ãæãDocumentRootå®çŸ©ãæã£ãŠããŸãã Dockerfileã¯Apacheæ§æã®å 容ã«ã€ããŠäœãèªèãããComposeã¯/ var / www / partXã®ããªã¥ãŒã åç §ãå®çŸ©ããŸãã ã³ã³ããã®å 容ãå€æŽããã«ã³ãŒãããããã°ããã³åŸ®èª¿æŽã§ãããããããã¯éçºã«æé©ã§ãã
æ©æŠã¯ç§ãå±éããããšãã§ãã Dockerã®äž»ãªé åã®1ã€ã¯ãç¬èªã®ãŠãããŒã¹ã§ããã³ã³ãããŒããããã€ã§ããããšã§ãã ã³ã³ãããŒå ã®ãã¹ãŠãååŸããã«ã¯ããã¡ã€ã«ãã³ããŒããå¿ èŠããããŸããã€ãŸããéçºã«äœ¿çšãããã®ãšã¯å¥ã®Dockerfileå®çŸ©ãšComposeå®çŸ©ãçšæããå¿ èŠããããŸãã 倧èŠæš¡ãªãããžã§ã¯ãã§ã¯ãããã¯2ã»ããã®å®çŸ©ãã¡ã€ã«ãç¶æããå¿ èŠãããããšãæå³ãããšã©ãŒã®å¯èœæ§ãé«ããªããŸãã
ç§ã®å¥œã¿ã¯ãDockerfileã®åäžã®ã»ãããç¶æããComposeãã¡ã€ã«ã§ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãè¡ãããšã§ãã äœæã¯ã/ var / www / partXãå ±æããªã¥ãŒã ãšããŠèšå®ããã®ãããã¡ã€ã«ãã³ã³ãããŒã«ã³ããŒããã®ããå®çŸ©ããå Žæã§ãã
å ±æããªã¥ãŒã ã䜿çšããŠå±éããããšã¯ãã¯ãŒã ã®çŒ¶ã®ããã§ãã å ±æããªã¥ãŒã ã«äŸåããæ¬çªç°å¢ã®æ¢åã®ããŒãžã§ã³ãæŽæ°ããå Žåãã¡ã³ããã³ã¹ãŠã£ã³ããŠãèšå®ããããå ±æããªã¥ãŒã ãããŒãžã§ã³ç®¡çããããã®ã¹ããŒã ãèãåºãããšãªãããã®å ±æããªã¥ãŒã ãæŽæ°ããããšã¯ã§ããŸããã ç§ã¯ã³ã³ãããŒãå€éšãã¡ã€ã«ãšç·å¯ã«çµåããŠããããã®ãããªè€éããå°å ¥ããå ŽåãDockerã䜿çšããå©ç¹ã®äžéšãåŠå®ããŠããŸãã
Dockerfileå®çŸ©ãžã®å€æŽãã¹ã¯ãªããåããŠãã¡ã€ã«ãæ¡ä»¶ä»ãã§ã³ããŒã§ããããã§ãããDockerãŠãããŒã¹å ã®ãã¹ãŠã®Dockerããžãã¯ãåŠçããã®ã¯ãããè«ççãã§ãããComposeã¯ãããè¡ãè«ççãªå Žæã®ããã§ãã
åéããã«ã¯+1ã
+1ã Dockerfile
代ããã«docker-compose.yml
ãã¡ã€ã«ã«æ§æãã¡ã€ã«ãã³ããŒãããšéåžžã«åœ¹ç«ã¡ãŸãã
+1ã ãµãŒãã¹ã®æ§æãã¡ã€ã«ãæäŸããããšããŠãããã«ééããŸããã èªã¿åãå°çšããªã¥ãŒã ã¯ãªãã·ã§ã³ã®ããã«èŠããŸãããããããããã³ããŒããããšæããŸãã
ããªã¥ãŒã ãããŠã³ãããã ãã§ããŸãããå¯èœæ§ããããŸãã
version: '2'
services:
foobar:
image: 'postgres:9.6-alpine'
volumes:
- './docker/schemas/foobar:/docker-entrypoint-initdb.d'
@ raszi-ãããããŠã³ããããæ§æã¯ãä»ã®ãšããé²ãæ¹åã§ãã Dockerã«ã€ããŠç§ãæ¬åœã«æ°ã«å ¥ã£ãç¹ã®1ã€ã¯ãå€éšã®äŸåé¢ä¿ïŒãªã³ã¯ãããæ§æãªã©ïŒãæ°ã«ããã«çµ±åãã¹ããå®è¡ã§ããèªå·±å®çµåã®ã³ã³ãããŒã®æŠå¿µã§ããã é/ç·ãŸãã¯A / Bã®ãããã€ã¡ã³ããè¡ã£ãŠããŠãç°ãªãããŒãžã§ã³ã®ã³ã³ãããŒã§äœ¿çšãããæ§æã«éããããå Žåãç¶æ³ã¯å°ãå£ãããããªãå¯èœæ§ããããŸãã åç°å¢ã®å ±æããªã¥ãŒã ã§æ§æãã¡ã€ã«ãããŒãžã§ã³ç®¡çãããªã©ã®æ¹æ³ã§ãããåé¿ã§ããŸãããããã¯ãããããè€éãŸãã¯è匱ã«æããŸãã
ãDockerã³ã³ããã¯ãå®è¡ã«å¿ èŠãªãã¹ãŠã®ãã®ïŒã³ãŒããã©ã³ã¿ã€ã ãã·ã¹ãã ããŒã«ãã·ã¹ãã ã©ã€ãã©ãªãªã©ããµãŒããŒã«ã€ã³ã¹ããŒã«ã§ãã
ç§ã¯åæããŸãããã®æ©èœãããã°çŽ æŽããããšæããŸãã ä»ã®äººãå©ããããã«èªåã®ãœãªã¥ãŒã·ã§ã³ãæçš¿ããŸããã
åéããã«ã¯+1ã
+1
ããªã¥ãŒã ã®ãªãåéãŸãã¯å¥ã®ãœãªã¥ãŒã·ã§ã³ã®å Žåã¯+1ã
çŸåšãdocker-compose.ymlã®Environmentå€æ°ãšdocker-entrypoint.shã®j2ã䜿çšããŠãã³ã³ãããŒã®ã¡ã€ã³ã¢ããªãå®è¡ããåã«ããããæ§æãã¡ã€ã«ã«è§£æããŠããŸãã ããã¯ã«ã¹ã¿ã ç»åã§ããããã§ã«å©çšå¯èœãªå®å šãªç»åã§ç®±ããåºããŠäœ¿çšããããšã¯ã§ããŸããããç§ã«ãšã£ãŠã¯ããŸããããŸãã
+1
+1
+1
+1
+1
+1
+1
+1
+1
åéããããã®+1
ç°å¢å€æ°ã«åºã¥ãæ§æã§ã¯ãªããã³ã³ãããŒããšã«ç°ãªãyamlãã¡ã€ã«ãæã€å¯èœæ§ãè¿œå ããã«ã¯
+1éåžžã«å¿ èŠãªæ©èœ
+1ãæ©èœãããã®ã¯ããããã§ãïŒ
+1
+1
+1
+1
+1åéã ããã¯ããŒã¯
+1ããã¯éåžžã«å¿ èŠãªæ©èœã§ãã
å
±æããªã¥ãŒã ãã¬ã€ã€ãŒãšããŠããŒã¯ããæ¹æ³ããããããªã¥ãŒã ã¯ROã®ãŸãŸã§ãæžã蟌ã¿ã¯æäžäœã®ã¬ã€ã€ãŒã«é©çšãããå Žåã copy
ãã£ã¬ã¯ãã£ããªãã§å¹žãã«æ®ãããã§ãããã ããšãã°ãæœåºããããã«ãã¢ãŒãã£ãã¡ã¯ããå
±æãããã®ã§ããããµãŒãã¹ã¯ãã®ãã£ã¬ã¯ããªïŒãã°ãPIDãã¡ã€ã«ãªã©ïŒã«æžã蟌ã¿ãŸãã
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1éåžžã«äŸ¿å©ãªæ©èœãªã®ã§ãåéããå Žå
ãã¶ãhttps://github.com/jwilder/dockerizeã®ãã³ãã¬ãŒãæ©èœã¯ããªãã®äœäººããå©ããããšãã§ããŸã
+1
+1
+1
+1
+1
+1ããŠåé¡ãåéããŸã
+1
Dockerã·ãŒã¯ã¬ããã䜿çšããŸãããã®äŸã§ã¯ãã·ãŒã¯ã¬ãããnginxã€ã¡ãŒãžãšãšãã«äœ¿çšããŠããµãŒããŒèšŒææžãšæ§æãã¡ã€ã«ãã³ããŒããŸãã
https://docs.docker.com/engine/swarm/secrets/#intermediate -example-use-secrets-with-a-nginx-service
ããã¯è¯ãç¹ã§ãã æ£çŽãªãšãããç§ãã¡ã¯ãã§ã«ç§å¯ãæã£ãŠããã®ã§ãã³ããŒãæã£ãŠããå¿ èŠãããããã§ããç§å¯ã¯ãããæå³ã§ãã³ããŒããç¹å®ã®çš®é¡ã®ãã¡ã€ã«ã«ãããªãããã§ãã ã€ãŸããããæ éã«ããããžã§ãã³ã°ããããã®ã§ãããæ§æãã¡ã€ã«ã«ã¯å¿ èŠãããŸããã
ããã¯ããªããå«ããããã¹ãŠã®æ§æãã¡ã€ã«ã®ããªã¥ãŒã ãããŠã³ããããã¹ããæã¡è² ãããŸãã
ã³ããŒã®æ¹ãåªããŠããçç±ã¯ãaïŒãã¹ããå®éã«ã¯å¥ã ã®ãã·ã³ã§ãã矀ãã®ç°å¢ã§ã¯ããã¹ãŠã®ãã·ã³ã®åãå Žæã«ãŸã£ããåããã¡ã€ã«ã眮ãå¿ èŠã¯ãªãã¯ãã§ãã bïŒã³ããŒã¯ãäœæãå«ãŸãããã©ã«ããŒã«å¶éããããšãã§ããŸããããã¹ãããŠã³ãã«ã¯çµ¶å¯Ÿãã¹ãå¿ èŠã§ãã cïŒdockerã®ãã€ã³ãã¯ãå«ãŸããŠããã¢ããªã±ãŒã·ã§ã³ããã¹ãã«äŸµå ¥ããå Žæã®æ°ãæå°éã«æããããšã ãšæããŸãã èªã¿åãå°çšãšããŠèšå®ããŠããã¹ãã®ããŠã³ãã¯ãæã£ãŠãããšããã¡ã€ã«ãä¿åããããã«ããã¹ãäžã®è²¬ä»»ãäœæããŸãã ãã®åçŽãªåé¡ã解決ããããã«ãã¹ãããŠã³ãã䜿çšããå¿ èŠã¯ãããŸããã
ã³ããŒã¯docker build
ããã»ã¹ãšåæ§ã«ã¢ãã«åã§ãããšæããŸãããã®ããã»ã¹ã§ã¯ã Dockerfile
ã¯éåžžããã«ãã³ã³ããã¹ãã«éä¿¡ããå¿
èŠã®ãããã¹ãŠã®ãã¡ã€ã«ãšãšãã«gitãªããžããªã§åºè·ãããŸãã Dockerfile
ã¯ãæ£ããã·ã³ããªãã¯ãªã³ã¯ãããŠããŠãããã£ã¬ã¯ããªæ§é ã®å€éšã«ååšãããã®ãéä¿¡ããããšã¯èš±å¯ãããŠããŸããã src
ãdocker-compose.yml
ã®ãã£ã¬ã¯ããªïŒããã³ãã®äžã®ãã£ã¬ã¯ããªïŒã«å¶éãããŠããcomposeã§ãåæ§ã®ããšãã§ããŸãã åºæ¬çã«ãã¯ãŒã¯ãããŒã¯æ¬¡ã®ããã«ãªããŸãã docker-compose
ãã³ã³ãããäœæãã src:dst
ãã¢ããšã«ãçŸåšã®ãã£ã¬ã¯ããªã®äžã§src
èŠã€ããŠãæªèµ·åã®ã³ã³ããã«ã³ããŒããŸãã次ã«ãã³ã³ãããèµ·åããŸãã
çŸåšããã¹ãããŠã³ããåé¿ããã«ã¯ã Dockerfiles
ãè¿œå ãã conf
ãã¡ã€ã«ãä¿®æ£ãããã€ã¡ãŒãžã«ãã«ãããããšã§å®çŸã§ããŸãããæ°ããã€ã¡ãŒãžã®ã¿ã°ãä»ãçŽãããããŠãŒã¶ãŒã匷å¶ãããããå¿
èŠããããããããã¯ããéãã®ããã§ãããã奜ãŸããïŒIMOïŒ image
å±æ§ã®ä»£ããã«ã docker-compose
build
å±æ§ã䜿çšããŸãã ãã§ã«ãµãŒãã¹å®çŸ©ã§build
å±æ§ã䜿çšããŠããŠããã®ããã«ãããå Žåã¯ãcomposeã«å±ããã¹ãã§ãããéåžžã«æèŠã®åãããæ§æãã¡ã€ã«ã§ãä»ã®æ¹æ³ã§ã¯äžå¯ç¥è«çãªã€ã¡ãŒãžãã«ããŒãæ±æããããšãäœåãªããããŸããããã³å±éããã»ã¹ã
docker-composeã³ããŒæ©èœã®+1
+1
+1
+1
ã³ããŒã®å Žåã¯+1ã
docker-composeã³ããŒæ©èœã®å Žåã¯+1ã äžèšã®è³æè«ã¯èª¬åŸåããããšæããŸãã
ã³ããŒçš+1
ã³ããŒã®å Žåã¯+1ã
ç§ã®POVã«ãããŸããã 䟿å©ã«ãªãããšããããŸãããå€ãã®ãŠãŒã¶ãŒã«ãšã£ãŠå¶åŸ¡äžèœã«ãªã£ããæªçšããããããå¯èœæ§ããããããªã¥ãŒã ãé³è åããããšãããããŸãã ç¹ã«çŸ€ãã®ããã«ãã¡ã€ã«ãã³ã³ããã«é 眮ããå¿ èŠãããå Žåã¯ãèšå®ãŸãã¯ã·ãŒã¯ã¬ããã䜿çšã§ããŸãã ããããéçãã©ã«ããŒãnginxã³ã³ãããŒã«é 眮ãããããªç§ã®å ŽåãDockerfileã§å€æ®µéãã«ãã䜿çšããŠãéçãã©ã«ããŒãã³ã³ãããŒã«é 眮ããå¿ èŠããããŸããããã«ã¯ãç®æšãéæããããŸã§ã«å€ãã®ããã»ã¹ãå¿ èŠã§ãã ã§ããããã³ããŒãªãã·ã§ã³ãè¿œå ãããšéåžžã«äŸ¿å©ã ãšæããŸã
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
åéããããã®+1
+1
åéããããã®+1
ã³ã³ãããŒïŒãŸãã¯ããèªäœïŒãç¹å®ã®ç¶æ
ã«éããåŸã«ããªã¥ãŒã ã§åäœããæ©èœã¯æ©èœããŸãããïŒ
èªã¿åãå°çšã®ãããªãã©ã°ã§ããå¯èœæ§ããããŸããã代ããã«ã³ããŒå°çšã§ãïŒ æ¬¡ã«ãã³ã³ããå
ã§åæç¶æ
ã«éããåŸã«ãªã³ã¯ãåé€ããæ©èœãè¿œå ããããéåžžã®ããªã¥ãŒã æäœãã€ãã©ã€ã³/æ§æããããŸã...
åéããã«ã¯+1ã ããªã¥ãŒã ããŠã³ãã¯åžžã«ãªãã·ã§ã³ã§ãããšã¯éããŸããã ãããä»æ¥ããã«æçš¿ããçç±ã§ãã ããªã¥ãŒã ã®ããŠã³ããçŠæ¢ãããŠãããšããç¬ç¹ã®ã·ããªãªã®ããããã¡ã€ã«ãã³ããŒããããã«å€æ°ã®ã³ã³ãããŒãæåã§å€æŽããå¿ èŠããããŸãã
+ïŒ
+1
docker-composeã³ããŒæ©èœã®+1
+1
+1
ããã¯ç¡æå³ã ãšæãå§ããŠããŸãã Dockerã¯ãDockerãæ§ç¯ããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«é¢é£ããæ©èœã®ã¿ãè¿œå ããŸããããã¯ãŠãŒã¹ã±ãŒã¹å€ã®æ©èœã®1ã€ã§ãããããããããè¿œå ããããšã¯ãããŸããã
+1
@stuaxoå€ãã®äººããããã¬ã³ãæ±ããŠãããããš
ãã®å ŽåããµãŒãã¹ã®å®è¡ã«å¿
èŠãªãã¡ã€ã«ã¯ããã«ãã«ãã€ã¯ãããïŒDockerfileã§å®£èšïŒãããªã¥ãŒã ããå©çšã§ããããã«ããããïŒ docker stack
/ Swarmã¢ãŒãã®å ŽåïŒæ§æãšããŠååšããå¿
èŠããããŸãããŸãã¯ç§å¯ã®ãªããžã§ã¯ãã å®è¡æã«è€æ°ã®å®å
ã«ãã¡ã€ã«ãã³ããŒããã®ã¯é
ãããšã©ãŒãçºçãããããé害ã«åŒ·ãããã§ã¯ãããŸããã
也æ¯ããããäžæ©å«ããã«åºããããå Žåã¯ãè©«ã³ããŸãã
ããµãŒãã¹ã®å®è¡ããšã¯ãWebãµãŒãã¹ã®ããã«é·æéå®è¡ãããããšãæå³ããŠãããšæããŸãããDockerã¯ãããååã«ã«ããŒããŠããŸãã
Dockersã®éå±€åãšãã£ãã·ã¥ã¯ãä»ã®ããšã«äŸ¿å©ã§ãã
å€ãWordPressããã°ãdockerã«å ¥ããŸããããå®è¡ããã ãã§ããããŒã¿ããšã¯ã¹ããŒãããããæçš¿ãã©ã®ããã«è¡šç€ºãããŠãããã確èªãããã§ããããã«ãæ°åéå®è¡ããããšããããŸãã
ããã«ã¯ãdocker composeã䜿çšããŠMySQLãšApacheãåé¢ããã®ã«å°ãæéãããããŸãããããããããã¹ãŠäžç·ã«ã¹ã ãŒãžã³ã°ãããŠãããã©ããã¯æ°ã«ããŸããã
Dockersã®ãã£ãã·ã¥ã¯ãCairoã®ãããªãã¹ã¯ãããã©ã€ãã©ãªã®æ§ç¯ãè©Šããšãã«æ¥œãããã®ã§ãã ç§ãããããšããŠããããšã®ã»ãšãã©ã¯ã詳现ãå¿ããŠããŸããŸãããããµãŒãã¹ã®å®è¡ãšã¯é¢ä¿ãªãã建ç©ã®åŽé¢ã«ãããŸãã
+ 1docker-composeã³ããŒãè¿œå ããå¿ èŠããããŸãã ããã«ãããæ§æãã¡ã€ã«ã®ãããŒãšã³ã³ãããŒã®æŽæ°ãã¯ããã«ç°¡åã«ãªããŸãã
dockercpãšdockerconfigã䜿çšããŸã
éã2018幎3æ2æ¥ã«21æ19åã§ããžã§ãŒã ãºã»ããŒã³[email protected]ã¯æžããŸããïŒ
+ 1docker-composeã³ããŒãè¿œå ããå¿ èŠããããŸãã ããã¯ã¯ããã«ç°¡åãªæµããå¯èœã«ããŸã
æ§æãã¡ã€ã«ãšã³ã³ãããŒã®æŽæ°ã®â
ããªããã³ã¡ã³ãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/docker/compose/issues/1664#issuecomment-370055493 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ABOv-q5VO9n9HDvBP6YJ1BCePz5tGu-pks5tabdrgaJpZM4FTTPg
ã>>
ãžã§ãŒã ãºãã«ãº/ããããžãã¯
EïŒ [email protected]
WïŒprologic.shortcircuit.net.au
docker-composeã³ããŒã®å Žåã¯+1ã ããã§èª¬æã³ããŒã®ã¿ã䜿çšãããšããèãæ¹ã§ãã
+1
+1
ãã®å ŽåããµãŒãã¹ã®å®è¡ã«å¿ èŠãªãã¡ã€ã«ã¯ããã«ãã«ãã€ã¯ãããïŒDockerfileã§å®£èšïŒãããªã¥ãŒã ãä»ããŠå©çšã§ããããã«ããããïŒdocker stack / Swarmã¢ãŒãã®å ŽåïŒæ§æãªããžã§ã¯ããŸãã¯ã·ãŒã¯ã¬ãããªããžã§ã¯ããšããŠååšããå¿ èŠããããŸãã å®è¡æã«è€æ°ã®å®å ã«ãã¡ã€ã«ãã³ããŒããã®ã¯é ãããšã©ãŒãçºçãããããé害ã«åŒ·ãããã§ã¯ãããŸããã
å€ãã®å Žåãå¿ èŠãªã®ã¯åäžã®æ§æãã¡ã€ã«ãæŽæ°ããããšã ãã§ãããã®å Žåãæšæºã®å ¬åŒã€ã¡ãŒãžã®ç¬èªã®ã€ã¡ãŒãžããã€ã¯åŠçããããšã¯æªãç¿æ £ã§ãããå°æ¥çã«å€ãã®æè¡çè² åµãçºçããŸããããªã¥ãŒã ã¯X10ãè¶ ããŠããŸããããããŸãããããã©ã«ãã®å Žæã«ããåäžã®ãã¡ã€ã«ã ãã§ãªãããã©ã«ãå šäœãåŠçããå¿ èŠããããšããåé¡ã¯èšããŸã§ããªãããã¡ã€ã«ã®åæãç¶æããå¿ èŠããããŸãããŸããæ§æèšå®ãååŸããã ãã§ãªããã·ã¹ãã ãã¡ã€ã«ãæŽæ°ããå¿ èŠããããŸãã
ç§ã¯ããªãã®æžå¿µãç解ããŠããŸããã圌ãã®å¿ èŠæ§ãçŸå®ã§ã¯ãªãããšãã¿ããªã«äŒããã ãã§ã人ã ãããªãã®ãããžã§ã¯ããšããã䜿çšããŠããªãã®ä»äºããµããŒããããã³ãã¥ããã£ããé ãããã ãã§ãã ç§ãã¡ã¯ããã§ããªããšååããŠãããŸããã解決çãèŠã€ããããšæã£ãŠããŸãããããªããèšãããã®ã¯ãç§ãã¡ãå¿ èŠã ãšæããã®ã¯å¿ èŠãªããšããããšã ãã§ãã
ãããŒãããããŸã è¡ãããŠããªããªããŠä¿¡ããããªãã ãã®åºæ¬çãªæ©èœã¯ãä»ã§ã¯docker-composeã«ãããšæããŸããã ãããOSSãããžã§ã¯ãã®çŸãã...
docker-compose --force-recreate --rebuild
ã§è§£æ±ºããå€æŽãããå ŽåïŒãŸãã¯ããæãããå ŽåïŒã«æ°ãããã¡ã€ã«ãã³ããŒããŸãã çæ³çã§ã¯ãããŸããããæ©èœããŸãã
+1
+1
+1
+1
+1ããã¯ç§ãçãããæ§ãããªããŒã§ãã1ã€ã®æ§æãã¡ã€ã«ã®ããã ãã«ããªã¥ãŒã ãããŠã³ãããå¿ èŠãããã®ã¯ã°ãããŠããããã§ãã
+1
ããªã¥ãŒã ã䜿çšããdockercomposeã䜿çšããŠãã³ã³ãããŒã«ãã¡ã€ã«ãè¿œå ããæ¹æ³ããããŸãã äœæããã¥ã¡ã³ãã«configs
èšå®ãããããšã«æ°ä»ããã®ã§ãåäžã®ãã¡ã€ã«ãè¿œå ããããšãã§ããŸãã
https://docs.docker.com/compose/compose-file/#configs
ãã ãã人ã
ãæãã§ããã®ã¯ããã¡ã€ã«ããã¹ãããã³ã³ããå
ã®ãã£ã¬ã¯ããªã«ããŒãžããæ¹æ³ã§ãããã³ããŒãæ©èœãããšäºæ³ãããæ¹æ³ã§ããoverwrite if exists
ãåªå
ããŸãã
äœæãã¡ã€ã«ã®volumes
æ§æã«nocopy
ãªãã·ã§ã³ãããã®ã¯äžæè°ã§ãã
https://docs.docker.com/compose/compose-file/#volumes
volumes:
- type: volume
source: mydata
target: /data
volume:
nocopy: true
ããã¯æ¬¡ã®ããã«èª¬æãããŠããŸãïŒ
volume: configure additional volume options
nocopy: flag to disable copying of data from a container when a volume is created
ããã§ãããã¯ãŸãã«æãŸãããã®ãç¡å¹ã«ããŸããïŒ
ç§ãæããŠãŒã¹ã±ãŒã¹ã¯ãéçºçšã®Webã¢ããªã±ãŒã·ã§ã³ã§ãã æäŸããããã©ã«ãã®Webãµã€ããå«ããWebãµã€ããæäŸããããã«å¿ èŠãªãã¹ãŠã®ãã®ãç»åã«å«ããå¿ èŠããããŸããããã¡ã€ã«ãé 眮ãã以å€ã«ãä»ã®æ§æïŒããŒïŒã䜿çšããã«ããããã®ãã¡ã€ã«ãWebãµã€ãã®çŸåšã®äœæ¥ç¶æ ãšããŒãž/äžæžããããªãã·ã§ã³ããããŸããã¹ãäžã®é©åãªå Žæã ã³ã³ããã«ã³ããŒããããšãã«äžæçãªãã¡ã€ã«ã ãããã¯ãŒã¯å ±æã«ãªãããšãæå³ããŸãã
ããããæ©æµãåãããã¬ãŒã ã¯ãŒã¯ã®äŸã¯ãLaravelã®ãããªãã®ã§ãã ä»ã®æ§æïŒããªã¥ãŒã ããããã¯ãŒã¯å ±æãªã©ïŒãªãã§Laravelã¹ãã©ãã·ã¥ããŒãžãæäŸã§ããã€ã¡ãŒãžãäœæããŸãããäœæãã¡ã€ã«ã¯ããã¡ã€ã«ããã¹ãããã³ã³ãããŒã®Laravelã«ãŒãã«ã³ããŒããããã«æžã蟌ãŸããŸããäžæžããããŸãã
ããã«ãããã¯ãŒã¯å ±æã䜿çšããããšã¯ãäžæçãªç°å¢ã®è¿œå ã®ç¶æã§ãïŒéçºã¯åžžã«äžå®ã§ã¯ãããŸããïŒã Laravelã®ãããªãã¬ãŒã ã¯ãŒã¯ã§ããªã¥ãŒã ããŠã³ãã䜿çšããã«ã¯ããã®ããªã¥ãŒã ã«ã¢ããªããã«ãããå¿ èŠããããŸããã€ãŸãããã¹ãã«PHPãšcomposerãã€ã³ã¹ããŒã«ããããã¢ããªãäœæããããã¹ãäžã®å Žæãå ±æããŸãã ã©ã¡ããããå€ãã®ã¡ã³ããã³ã¹ãäœæããŸãã
ç·šéïŒ
ãã¹ãåŸãããªã¥ãŒã ãããŠã³ããããšããã®å Žæã®ã€ã¡ãŒãžã«ååšããŠãããã¡ã€ã«ããããªã¥ãŒã ã®å ã®ã³ã³ãã³ããããåªå ããŠæ°žç¶ããªã¥ãŒã ã«ã³ããŒãããããã§ãã ã€ãŸããäžæžããããŸããã
ç§ã¯å®éããããæãŸããçµæã®è§£æ±ºçã ãšæããŸãã
ãããã¿ããªãåèãŸã§ã«ãåé¡ã¯åãåã£ãåå¿ã®æ°ã§äžŠã¹æ¿ããããšãã§ããã®ã§ãã+ 1ãã³ã¡ã³ããè¿œå ãããããããã®åé¡ã®ãããã¡ãã»ãŒãžã«èŠªæãç«ãŠãåå¿ãäžããæ¹ãè¯ãã§ãã
+1
+1 DockerããŒã ã«ãé¡ãããŸããããªãã®ã³ãã¥ããã£ãèæ ®ããŠãã ããã
@ shin-çŸåšã®åé¡ã¯ãããªã¥ãŒã æ©èœã«ãããåäžã®æ§æãã¡ã€ã«ãå€éšããªã¥ãŒã ããã³ã³ãããŒã«ãã©ã°ã€ã³ã§ããªãããšã§ãã
ãã®ãã©ã«ããŒã«ããä»ã®ãã¹ãŠãæ¶æ»
ãããããšãªããnginxæ§æãã¡ã€ã«ã/etc/something/whatever.conf
ã«ãã©ã°ã€ã³ããããšããŸãã åäžã®ãã¡ã€ã«ã«ååä»ãããªã¥ãŒã ãäœæããããšã¯ã§ããŸããïŒmoby / mobyïŒ30310ãåç
§ïŒããŸããåäžã®ãã¡ã€ã«ãå«ããã£ã¬ã¯ããªããªã¥ãŒã ãäœæããŠããããã®ç¹å®ã®ãã¡ã€ã«ãã³ã³ããã«ããŠã³ãããããšãã§ããŸããïŒmoby / mobyïŒãåç
§ïŒã 32582ïŒã
æ®ãããå¯äžã®ãªãã·ã§ã³ã¯ãå®éã®Dockerãã¹ãå ã®åºå®ãããå Žæãæ§æãã¡ã€ã«ã§æ±æãããããããã€ã³ãããŠã³ãããããšã§ãããã¡ãããDockerãã¹ãéã移åããããDockerãæäœãããããå Žåã¯ãããã¯ããŸããããŸããããã¡ã€ã«ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããªããã¹ãïŒãªã³ã©ã€ã³CIãªã©ïŒããŸãã¯è€æ°ã®ã¹ã¿ãã¯ã䞊è¡ããŠå®è¡ããã ãã®ãã¹ãã
ããã§äœããéãè²ãå¿
èŠããããŸããDockerã®ããªã¥ãŒã æ©èœãå€æŽããŠãå®éã«äœ¿çšããŠæ§æãã¡ã€ã«ãã¹ã¿ãã¯ã«æ¿å
¥ã§ããããã«ãããã copy
ãããªãã®ã䜿çšããŠcomposeã§åé¿ããå¿
èŠããããŸãã
FWIWç§ã¯ãã¯ãComposeã®ã¡ã³ããã§ã¯ãããŸãããããã®ãŠãŒã¹ã±ãŒã¹ã¯ãDockerfileã䜿çšããŠãã«ãæã«æ§æãã¡ã€ã«ãæ¿å ¥ããããšã«ãã£ãŠæãããæäŸãããããã«æãããŸãã
@ shin-æ®å¿µãªãããæ§æãã¡ã€ã«ã¯ãã«ãæã«äžæã§ããã€ã¡ãŒãžã¯ãã©ãã«å±éããã®ããã©ã®æ§æã§å±éããã®ããããããã£ãšåã«ãCIãµãŒããŒã§æºåãããŸãã
ç§ã¯@masaeeduãšcomposeã®æ©èœãå¿ã³å¯ããªãããã«ãããšããæŠå¿µçãªçæ³ãç解ããŠããããããã®æ©èœãè¿œå ããããããŸããããå®éã«ã¯ããã®æ©èœã倱ããããšãcomposeã䜿çšããã«äœ¿çšã§ããç¶æ³ãå€§å¹ ã«æžå°ããŸãã
AïŒåé¡ã®ã³ã³ãããç«ã¡äžããããã«ãããçš®ã®æãããã¹ã¯ãªããããŸãšããå¿ èŠããããŸãïŒcomposeã¯ãæšæºåãæ¯æŽããå®è¡ããå¿ èŠããªãããã«ããããšãç®çãšããŠããŸããïŒã
BïŒãã¹ãŠã®æ§æãåŠçããä»ã®ããŒã«ãè¿œå ããå¿ èŠããããŸãïŒããã¯å®è¡å¯èœã§ãããç¹å®ã®.confãš.envãåã³ã³ãããŒã«ã³ããŒããã ãã§ããäžå°èŠæš¡ã®ãããžã§ã¯ãã«å€§éã®ãªãŒããŒããããè¿œå ããŸããã€ã¡ãŒãžã®ãã«ãæã«å®è¡ããããªããã€ãŸãããœãããŠã§ã¢ã«æ§æãã¡ã€ã«ãããã®ã§ã¯ãªãããã¹ãŠã®ãªãã·ã§ã³ãC ++ã«ããŒãã³ãŒãã£ã³ã°ããå¿ èŠããããšèšãã®ãšåãã§ããããã«ãããæ°åã®äœåãªã€ã¡ãŒãžãç¶æããå¿ èŠããããŸãïŒããŸãã¯
CïŒç¹å®ã®ãœãããŠã§ã¢ã®å¯èœãªæ§æããšã«åå¥ã®ã€ã¡ãŒãžãç¶æããå¿ èŠããããŸããæ§æãå°ãå€æŽããå¿ èŠããããã³ã«ã«ã¹ã¿ã ã€ã¡ãŒãžãäœæããŸããããã¯ã©ã¡ããçŸå®ã®äžçã§ã¯æ©èœããŸããããŸããæ¬çªãœãããŠã§ã¢ã«å¿ èŠãªçš®é¡ã®å ç¢ãªQAããã³ãã¹ããã€ãã©ã€ã³ãäœæããããšãäžå¯èœã«ãªããŸãã
æãåèã«ãªãã³ã¡ã³ã
æ§æãã¡ã€ã«ã ããã³ããŒãããå Žåã¯ã©ããªããŸããïŒ ïŒDockerã®çŸ€ãã«å¯ŸããŠãvolume_fromã¯æ©èœããŸããïŒ
ç§ã¯ãŸã£ããåãç¶æ³ã«ãããã«ã¹ã¿ã mysqlãnginxãhaproxyãªã©ã®æ§æãã¡ã€ã«ãã³ããŒãããã®ã§ãããæ¬çªç°å¢ã«ã¯ã©ã¹ã¿ãŒãããã1ã€ã®copyã³ãã³ãã䜿çšããŠæ§æãããŒã«ã«ãããªã¢ãŒãã«ã³ããŒãã代ããã«
ã€ã¡ãŒãžã䜿çšãããã«ããããã«ããå¿ èŠããããŸãããäœãå¿ èŠã¯ãªããã³ãã³ããã³ããŒããã ãã§ãå±éãšéçºã®æéãå€§å¹ ã«ç¯çŽã§ããŸãã