
docker-composeããŒã«ã¯ãããŒã«ã«éçºç°å¢ã§ãããã³ã°ãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«éåžžã«äººæ°ããããŸããå¿ èŠãªã®ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãµãŒãã¹ã®æ§æãå«ãComposeãã¡ã€ã«ãäœæãããããã€çšã«å®è¡äžã®Dockerãšã³ãžã³ãçšæããããšã ãã§ãã ãããããåäžã® ãdocker-compose upã ã³ãã³ãã§æ°ç§ã§ã¢ããªã±ãŒã·ã§ã³ãããŒã«ã«ã§å®è¡ã§ããŸããÂ
ããã¯æåã®ç¯å²ã§ããã...
éçºè ã¯ãCIãã€ãã©ã€ã³/æ¬çªç°å¢ã§ã®éçºç°å¢ãšåããããã€ã®å®¹æããæ±ããŠããããã仿¥ãdocker-composeã¯ããŸããŸãªæ¹æ³ã§ãåœåã®ç¯å²ãè¶ ããŠäœ¿çšãããŠããããšãããããŸãã ãã®ãããªå Žåã®èª²é¡ã¯ãdocker-compose ã DOCKER_HOST ç°å¢å€æ° ãš -H, âhost ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã䜿çšããŠããªã¢ãŒãã® Docker ãšã³ãžã³ã§ã®å®è¡ã®ãµããŒããæäŸããŠããããšã§ãã ããã¯ããŸããŠãŒã¶ãŒãã¬ã³ããªãŒã§ã¯ãªããè€æ°ã®ç°å¢ã«ãŸãããComposeã¢ããªã±ãŒã·ã§ã³ã®å±éã管çããããšã¯è² æ ã«ãªããŸãã
ãã®åé¡ã«å¯ŸåŠããããã«ã Docker Contexts ã䜿çšããŠãããŸããŸãªç°å¢ã«Composeã¢ããªã±ãŒã·ã§ã³ãå®å šã«ãããã€ããããŒã«ã«ãã¹ãããç°¡åã«ç®¡çããŸãã ãã®æçš¿ã®ç®çã¯ãã³ã³ããã¹ãã䜿çšããŠããŸããŸãªç°å¢ããããã€ã®å¯Ÿè±¡ãšããããããç°¡åã«åãæ¿ããæ¹æ³ã瀺ãããšã§ãã
ãã®æŒç¿å šäœã§äœ¿çšãããµã³ãã« ã¢ããªã±ãŒã·ã§ã³ã®å®çŸ©ãéå§ããããã localhost ã«ãããã€ããæ¹æ³ã瀺ããŸãã ããã«ãDockerã³ã³ããã¹ããšããªã¢ãŒãã®Dockerãšã³ãžã³ã«å®å šã«æ¥ç¶ã§ããããã«ä¿æããæ å ±ã«ã€ããŠèª¬æããŸãã æåŸã«ãdocker-compose ã§ Docker ã³ã³ããã¹ãã䜿çšããŠããªã¢ãŒã ãšã³ãžã³ã«ãããã€ããŸãã
ç¶è¡ããåã«ãããã«ãŒãšããã«ãŒäœæãããŒã«ã«ãã¹ãã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã Docker Engine ãš Compose ã¯ã Docker Desktop for Windows ããã³ macOS ã«å«ãŸããŠããŸãã Linuxã®å Žåã¯ãDocker Engineãšdocker-composeãå ¥æããå¿ èŠããããŸããã³ã³ããã¹ããµããŒãæ©èœã䜿çšããŠdocker-composeãååŸããããã«ããŠãã ããã ããã¯ãdocker-compose ã®ãªãªãŒã¹ 1.26.0-rc2 以éã§äœ¿çšã§ããŸãã
ãµã³ãã«äœæã¢ããªã±ãŒã·ã§ã³
ããã³ããšã³ããšããã¯ãšã³ãã®2ã€ã®ãµãŒãã¹ã§æ§æãããã¢ããªã±ãŒã·ã§ã³ãèšè¿°ããComposeãã¡ã€ã«ãå®çŸ©ããŸãããã ããã³ããšã³ããµãŒãã¹ã¯ãHTTPãªã¯ãšã¹ããåçŽãªGoã¢ããªãµãŒããŒã«è»¢éããnginxãããã·ãå®è¡ããŸããÂ
ãã®æŒç¿ã«å¿ èŠãªãã¹ãŠã®ãã¡ã€ã«ãå«ããµã³ãã«ã ãããã ããŠã³ããŒããããã代ããã« Compose samples ãªããžããªã®ä»ã®ãµã³ãã«ã䜿çšã§ããŸãã
ãããžã§ã¯ãæ§é ãšäœæãã¡ã€ã«ã¯ä»¥äžã«ãããŸãã
$ tree hello-docker
hello-docker
âââ backend
â âââ Dockerfile
â âââ main.go
âââ docker-compose.yml
âââ frontend
âââ Dockerfile
âââ nginx.conf
docker-compose.yml
version: "3.6"
services:
 frontend:
  build: frontend Â
  ports:
  - 8080:80
  depends_on:
  - backend
 backend:
  build: backend
ããŒã«ã«ãã¹ãã§ã®å®è¡
åã«å®çŸ©ããã¢ããªã±ãŒã·ã§ã³ããããã€ããã«ã¯ããããžã§ã¯ã ãã£ã¬ã¯ããªã«ç§»åããdocker-compose ãå®è¡ããŸãã
$ cd hello-docker/
$ docker-compose up -d
Creating network "hello-docker_default" with the default driver
Creating hello-docker_backend_1 ... done
Creating hello-docker_frontend_1 Â Â ... done
docker-compose.yml ã§èª¬æãããŠããããã«ããã¹ãŠã®ã³ã³ãããŒãå®è¡ãããŠãããããã³ããšã³ã ãµãŒãã¹ ã³ã³ãããŒã®ããŒã 80 ãããŒã«ã«ãã¹ãã®ããŒã 8080 ã«ããããããŠããããšã確èªããŸãã
$ docker ps
CONTAINER ID Â IMAGEÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â COMMANDÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â CREATEDÂ Â Â Â Â Â Â Â STATUS
  PORTS                   NAMES
07b55d101e74  nginx:latest           "nginx -g 'daemon of..."  6 seconds ago  Up 5 seconds
  0.0.0.0:8080->80/tcp    hello-docker_frontend_1
48cdf1b8417c  hello-docker_backend  "/usr/local/bin/back..."  6 seconds ago  Up 5 seconds               hello-docker_backend_1
ããŒã 8080 ã§ Web ãµãŒãã¹ãç §äŒããŠãgo ããã¯ãšã³ããã hello ã¡ãã»ãŒãžãååŸããŸãã
$ curl localhost:8080
     ##         .
  ## ## ##    ==
## ## ## ## ##Â Â Â ===
/"""""""""""""""""\___/ ===
{ Â Â Â Â Â Â Â Â Â Â Â / ===-
\______ O Â Â Â Â Â __/
 \   \       __/
 \____\_______/
Hello from Docker!
ãªã¢ãŒããã¹ãã§ã®å®è¡
ãªã¢ãŒãã®Dockerãã¹ãã¯ãDockerãšã³ãžã³ãå®è¡ãããšã³ãžã³APIãç §äŒããããã«ããŒããå ¬éãããŠããããŒã«ã«ãããã¯ãŒã¯ã®å éšãŸãã¯å€éšã®ãã·ã³ã§ãã
ãµã³ãã«ã»ã¢ããªã±ãŒã·ã§ã³ã¯ãããã€ãã®æ¹æ³ã§ãªã¢ãŒãã»ãã¹ãã«ãããã€ã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ãããã€æã«ãã¹ã¯ãŒãããã³ããã衚瀺ãããªãããã«ãããŒããŒã¹ã®èªèšŒã䜿çšããŠãªã¢ãŒãDockerãã¹ãã«SSHã¢ã¯ã»ã¹ã§ãããšä»®å®ããŸãã
ãªã¢ãŒããã¹ãã«ãããã€ããã«ã¯ã次㮠3 ã€ã®æ¹æ³ããããŸãã
1.ãããžã§ã¯ããã¡ã€ã«ã®ã³ããŒã«ããæåãããã€ãdocker-composeãã€ã³ã¹ããŒã«ããŠå®è¡
Composeã®äžè¬çãªäœ¿çšæ³ã¯ã docker-compose.ymlã䜿çšããŠãããžã§ã¯ããœãŒã¹ãã³ããŒããããšã§ãã äœæã¢ããªããããã€ããã¿ãŒã²ãããã·ã³ã«docker-composeãã€ã³ã¹ããŒã«ããæåŸã«å®è¡ããŸãã
$ scp -r hello-docker user@remotehost:/path/to/src
$ ssh user@remotehost
$ pip install docker-compose
$ cd /path/to/src/hello-docker
$ docker-compose up -d
ãã®å Žåã®æ¬ ç¹ã¯ãã¢ããªã±ãŒã·ã§ã³ãœãŒã¹ãŸãã¯Composeãã¡ã€ã«ã倿Žãããšãã³ããŒããŠãªã¢ãŒããã¹ãã«æ¥ç¶ããåå®è¡ããå¿ èŠãããããšã§ãã
2. ç°å¢å€æ°ã䜿çšããŠDOCKER_HOSTã¿ãŒã²ãããšã³ãžã³ãèšå®ãã
ãã®æŒç¿ã§ã¯ã DOCKER_HOST ç°å¢å€æ°ã·ããªãªã䜿çšã㊠Docker ãã¹ããã¿ãŒã²ããã«ããŸãã ã-H, âhost åŒæ°ã docker-compose ã«æž¡ãããšã§åãããšãå®çŸã§ããŸãã
$ cd hello-docker
$ DOCKER_HOST="ssh://user@remotehost" docker-compose up -d
ããã¯ãæåå±éãããåªããæ¹æ³ã§ãã ããããã¢ããªã±ãŒã·ã§ã³ã®å€æŽããã¹ãã®å€æŽããšã«ãªã¢ãŒããã¹ããšã³ããã€ã³ããèšå®/ãšã¯ã¹ããŒãããå¿ èŠããããããéåžžã«é¢åã§ãã
3.ããã«ãŒã³ã³ããã¹ãã®äœ¿çšÂ
$ ããã«ãŒã³ã³ããã¹ãls
åå 説æ DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
...
ãªã¢ãŒã ssh://user@remotemachine
$ cd hello-docker
$ docker-compose ââcontext remote up -d
Docker ã³ã³ããã¹ãã¯ãç°ãªããããã€ã¡ã³ãã»ã¿ãŒã²ãããèªåçã«åãæ¿ããå¹ççãªæ¹æ³ã§ãã æ¬¡ã®ã»ã¯ã·ã§ã³ã§ã¯ãDockerã³ã³ããã¹ããcomposeãšãšãã«äœ¿çšããŠãããã€ã容æ/é«éåããæ¹æ³ãçè§£ããããã«ãã³ã³ããã¹ãã«ã€ããŠèª¬æããŸãã
ããã«ãŒã³ã³ããã¹ã
Docker ã³ã³ããã¹ãã¯ãDocker API ãšã³ããã€ã³ãã«ååãæäŸããåŸã§äœ¿çšããããã«ãã®æ å ±ãæ ŒçŽããã¡ã«ããºã ã§ãã ããã«ãŒ ã³ã³ããã¹ãã¯ã ããã¥ã¡ã³ãã«ç€ºãããŠããããã«ãDocker CLI ã䜿çšããŠç°¡åã«ç®¡çã§ããŸããÂ
ãªã¢ãŒããã¹ããã¿ãŒã²ãããšããã³ã³ããã¹ããäœæããŠäœ¿çšãã
Dockerã¯ã©ã€ã¢ã³ãã䜿çšããŠãªã¢ãŒããã¹ãã«ç°¡åã«ã¢ã¯ã»ã¹ããã«ã¯ããŸãããªã¢ãŒããã¹ããžã®æ¥ç¶ãã¹ãä¿æããã³ã³ããã¹ããäœæããŸãã
$ ããã«ãŒã³ã³ããã¹ãäœæãªã¢ãŒã ââããã«ãŒ " host=ssh://user@remotemachine"
é é
ã³ã³ããã¹ãããªã¢ãŒãããæ£åžžã«äœæãããŸãã
$ ããã«ãŒã³ã³ããã¹ãls
åå 説æ DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
ããã©ã«ã * çŸåšã®DOCKER_HOST...  unix:///var/run/docker.sock 矀ã
ãªã¢ãŒã ssh://user@remotemachine
SSHingã®ããŒããŒã¹ã®èªèšŒããªã¢ãŒããã¹ãã«èšå®ããŠããããšã確èªããŠãã ããã ãããå®äºãããšãã³ã³ããã¹ãåãåŒæ°ãšããŠæž¡ãããšã§ããªã¢ãŒããã¹ãäžã®ã³ã³ãããäžèŠ§è¡šç€ºã§ããŸãã
$ ããã«ãŒ ââ ã³ã³ããã¹ã ãªã¢ãŒã ps
ã³ã³ããIDã€ã¡ãŒãžã³ãã³ãäœæã¹ããŒã¿ã¹å
ããªã¢ãŒããã³ã³ããã¹ããDockerã³ãã³ãã®ããã©ã«ãã³ã³ããã¹ããšããŠèšå®ããããšãã§ããŸãã ããã«ãããåã³ãã³ãã§ã³ã³ããã¹ãåŒæ°ãæž¡ããã«ããªã¢ãŒããã¹ãã§ãã¹ãŠã®dockerã³ãã³ããçŽæ¥å®è¡ã§ããŸãã
$ Dockerã³ã³ããã¹ãã¯ãªã¢ãŒãã䜿çšããŸã
é é
çŸåšã®ã³ã³ããã¹ããããªã¢ãŒããã«ãªããŸãã
$ ããã«ãŒã³ã³ããã¹ãls
åå 説æ DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
ããã©ã«ã çŸåšã®DOCKER_HOST ...  unix:///var/run/docker.sock 矀ã
ãªã¢ãŒã * ssh://user@remotemachine
ããã«ãŒäœæã³ã³ããã¹ãã®äœ¿çš
docker-compose ã®ææ°ãªãªãŒã¹ã§ã¯ãDocker API ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããããã®ã³ã³ããã¹ãã®äœ¿çšããµããŒããããããã«ãªããŸããã ããã¯ãdocker-composeãå®è¡ããã³ã³ããã¹ããremoteããæå®ããŠããªã¢ãŒããã¹ããèªåçã«ã¿ãŒã²ããã«ã§ããããšãæå³ããŸãã ã³ã³ããã¹ããæå®ãããŠããªãå Žåãdocker-compose 㯠Docker CLI ãšåæ§ã«çŸåšã®ã³ã³ããã¹ãã䜿çšããŸãã
$ docker-compose ââcontext remote up -d
/tmp/_MEI4HXgSK/paramiko/client.py:837: ãŠãŒã¶ãŒèŠå: äžæãª ssh-ed25519 10.0.0.52 ã®ãã¹ã ããŒ: b'047f5071513cab8c00d7944ef9d5d1fd'
ããã©ã«ããã©ã€ãã䜿çšãããããã¯ãŒã¯ãhello-docker_defaultãã®äœæ
ããã«ã¡ã¯docker_backend_1ãäœæãã...宿ã§ã
ããã«ã¡ã¯docker_frontend_1ãäœæããŸã...宿ã§ã
$ ããã«ãŒ ââ ã³ã³ããã¹ã ãªã¢ãŒã ps
ã³ã³ãã㌠ID ã€ã¡ãŒãž ã³ãã³ããäœæãããŸãã
ã¹ããŒã¿ã¹ ããŒãå
ddbb380635aa ããã«ã¡ã¯docker_frontend "nginx -g 'ããŒã¢ã³ã®..." 24ç§å
ã¢ãã 23 ç§ 0.0.0.0:8080->80/tcp hello-docker_web_1
872c6a55316f hello-docker_backend "/usr/local/bin/back..."Â 25ç§å
ã¢ãã24ç§ããã«ã¡ã¯docker_backend_1
è€æ°ã®ã¿ãŒã²ããã«ãŸããããããã€ãäœæãã
å€ãã®éçºè ã¯ãåãæ¿ããå¿ èŠãããè€æ°ã®éçº/ãã¹ãç°å¢ãæã£ãŠããå ŽåããããŸãã ããããã¹ãŠã«ããããããã€ã¯ãdocker-composeã§ã³ã³ããã¹ãã䜿çšããããšã§ç°¡åã«ãªããŸããã
ããã§ãè€æ°ã® Docker ãšã³ãžã³éã§ã³ã³ããã¹ãã®åãæ¿ããå®è¡ããããšããŠããŸãã ãã®ããã«ã3ã€ã®ã¿ãŒã²ãããå®çŸ©ããŸãã
- ããŒã«ã«ã® Docker ãšã³ãžã³ãå®è¡ããŠããããŒã«ã«ãã¹ãÂ
- sshçµç±ã§ã¢ã¯ã»ã¹å¯èœãªãªã¢ãŒããã¹ã
- å¥ã®ãªã¢ãŒããã¹ããšããŠæ©èœãã Docker-in-Docker ã³ã³ããÂ
次ã®è¡šã¯ãã³ã³ããã¹ãã Docker ã¿ãŒã²ããã«ãããã³ã°ããæ¹æ³ã瀺ããŠããŸãã
| ã¿ãŒã²ããç°å¢ | ã³ã³ããã¹ãå | API ãšã³ããã€ã³ã |
| ããŒã«ã«ãã¹ã | ããã©ã«ã | unix:///var/run/docker.sock |
| ãªã¢ãŒããã¹ã | é é | ssh://user@remotemachine |
| ããã«ãŒã»ã€ã³ã»ããã«ãŒ | é£äº | tcp://127.0.0.1:2375 |
ããŒã 2375 ãããŒã«ã«ãã¹ãã«ãããã㊠Docker-in-Docker ã³ã³ãããŒãå®è¡ããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
$ docker run -ârm -d -p "2375: 2375 " ââç¹æš© -e " DOCKER_TLS_CERTDIR=" ââååãã£ã³ã ããã«ãŒ:19.03.3-ãã£ã³ã
ed92bc991bade2d41cab08b8c070c70b788d8ecf9dffc89e8c6379187aed9cdc
$ ããã«ãŒ ps
ã³ã³ãã㌠ID ã€ã¡ãŒãž ã³ãã³ãã®äœæç¶æ
ããŒãå
ed92bc991bad docker:19.03.3-dind "dockerd-entrypoint...."17ç§å 15ç§äžãž
0.0.0.0:2375->2375/TCPã2376/TCPãã£ã³ã
æ°ããã³ã³ããã¹ã 'dind' ãäœæããŠãã³ã³ãããŒãç°¡åã«ã¿ãŒã²ããã«ããŸãã
$ ããã«ãŒã³ã³ããã¹ã ãã£ã³ããäœæãã ââããã«ãŒ " ãã¹ã=TCP://127.0.0.1:2375" ââããã©ã«ãã¹ã¿ãã¯ãªãŒã±ã¹ãã¬ãŒã¿ã¹ãŠã©ãŒã
é£äº
ã³ã³ããã¹ã "dind" ãæ£åžžã«äœæãããŸãã
$ ããã«ãŒã³ã³ããã¹ãls
åå 説æ DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
ããã©ã«ã * çŸåšã®DOCKER_HOST ... unix:///var/run/docker.sock 矀ã
ãªã¢ãŒã ssh://user@devmachine 矀
ããã§ãä»»æã®ç°å¢ãã¿ãŒã²ããã«ããŠãããŒã«ã«ãã¹ãããComposeã¢ããªã±ãŒã·ã§ã³ããããã€ã§ããããã«ãªããŸããã
$ ããã«ãŒã³ã³ããã¹ã䜿çšãã£ã³ã
é£äº
çŸåšã®ã³ã³ããã¹ã㯠"dind" ã«ãªããŸãã
$ docker-compose up -d
ããã©ã«ããã©ã€ãã䜿çšãããããã¯ãŒã¯ãhello-docker_defaultãã®äœæ
ããã«ã¡ã¯docker_backend_1ãäœæãã...宿ã§ã
ããã«ã¡ã¯docker_frontend_1ãäœæããŸã...宿ã§ã
$ ããã«ãŒ ps
ã³ã³ãã㌠ID ã€ã¡ãŒãž ã³ãã³ããäœæãããŸãã
ã¹ããŒã¿ã¹ ããŒãå
951784341a0d ããã«ã¡ã¯docker_frontend "nginx -g 'ããŒã¢ã³ã®..." 34ç§å
ã¢ãã 33 ç§ 0.0.0.0:8080->80/tcp hello-docker_frontend_1
872c6a55316f hello-docker_backend "/usr/local/bin/back..."Â 35ç§å
ã¢ãã 33 ç§ ããã«ã¡ã¯-docker_backend_1
$ ããã«ãŒ ââ ã³ã³ããã¹ãã®ããã©ã«ã ps
ã³ã³ãã㌠ID ã€ã¡ãŒãž ã³ãã³ããäœæãããŸãã
ã¹ããŒã¿ã¹ ããŒãå
ed92bc991bad docker:19.03.3-dind "dockerd-entrypoint...."Â 28åå
ã¢ãã 28 å 0.0.0.0:2375->2375/tcp, 2376/tcp ãã£ã³ã
$ docker-compose ââcontext remote up -d
/tmp/_MEIb4sAgX/paramiko/client.py:837: ãŠãŒã¶ãŒèŠå: äžæãª ssh-ed25519 10.0.0.52 ã®ãã¹ã ããŒ: b'047f5071513cab8c00d7944ef9d5d1fd'
ããã©ã«ããã©ã€ãã䜿çšãããããã¯ãŒã¯ãhello-docker_defaultãã®äœæ
ããã«ã¡ã¯docker_backend_1ãäœæãã...宿ã§ã
ããã«ã¡ã¯docker_frontend_1ãäœæããŸã...宿ã§ã
$ docker ã³ã³ããã¹ãã¯ããã©ã«ãã䜿çšããŸã
ããã©ã«ã
çŸåšã®ã³ã³ããã¹ãããããã©ã«ããã«ãªããŸãã
$ docker-compose up -d
ããã©ã«ããã©ã€ãã䜿çšãããããã¯ãŒã¯ãhello-docker_defaultãã®äœæ
ããã«ã¡ã¯docker_backend_1ãäœæãã...宿ã§ã
ããã«ã¡ã¯docker_frontend_1ãäœæããŸã...宿ã§ã
$ ããã«ãŒ ps
ã³ã³ãã㌠ID ã€ã¡ãŒãž ã³ãã³ããäœæãããŸãã
ã¹ããŒã¿ã¹ ããŒãå
077b5e5b72e8 ããã«ã¡ã¯docker_frontend "nginx -g 'ããŒã¢ã³ã®..." çŽ1åå
ã¢ããçŽå0.0.0.0:8080->80 / tcpããã«ã¡ã¯docker_frontend_1
fc01878ad14e hello-docker_backend "/usr/local/bin/back..." çŽ1åå
1åã»ã©ã¢ãã ããã«ã¡ã¯-docker_backend_1
ed92bc991bad docker:19.03.3-dind "dockerd-entrypoint...."Â 34åå
ã¢ãã 34 å 0.0.0.0:2375->2375/tcp, 2376/tcp ãã£ã³ã
ããã§ããµã³ãã« ã¢ããªã±ãŒã·ã§ã³ã 3 ã€ã®ãã¹ããã¹ãŠã§å®è¡ãããŸãã 以äžã«ç€ºãããã«ããããã®åãã¹ãã§ããã³ããšã³ããµãŒãã¹ãç §äŒãããšãåãã¡ãã»ãŒãžãè¿ãããŸãã
$ ã«ãŒã«ããŒã«ã«ãã¹ã:8080
$ docker exec -it dind sh -c " wget -O â localhost:8080"
$ ã«ãŒã« 10.0.0.52:8080
ã¢ãŠããããïŒ
     ##         .
  ## ## ##    ==
## ## ## ## ##Â Â Â ===
/"""""""""""""""""\___/ ===
{ Â Â Â Â Â Â Â Â Â Â Â / ===-
\______ O __/
\Â Â Â \ Â Â Â Â Â Â __/
\____\_______/
ããã«ãŒããããã«ã¡ã¯!
æŠèŠ
docker-composeã䜿çšããŠãªã¢ãŒããã¹ãã«ãããã€ããããšã¯ãããªãé·ãéäžè¬çãªãŠãŒã¹ã±ãŒã¹ã§ãããÂ
docker-compose ã® Docker ã³ã³ããã¹ãã®ãµããŒãã¯ãããŸããŸãªãªã¢ãŒããã¹ããã¿ãŒã²ããã«ããããã®ç°¡åã§ãšã¬ã¬ã³ããªã¢ãããŒããæäŸããŸãã ç°ãªãç°å¢éã®åãæ¿ãã管çãããããªããç°å¢å
šäœã®å±éãªã¹ã¯ã軜æžãããŸãã SSHããã³tcpãããã³ã«ãä»ããŠãªã¢ãŒãDockerãã¹ãã«ã¢ã¯ã»ã¹ããæ¹æ³ã®äŸã瀺ãããããã倿°ã®ãŠãŒã¹ã±ãŒã¹ãã«ããŒããããšãæåŸ
ããŠããŸãã