Open msakh opened 4 years ago
例えばApp用コンテナ、DB用コンテナなどセットで動かす必要のあるもの
docker-compose.yml
version: "3"
services:
echo:
image: example/echo:latest
ports:
- 9000:8080
実行結果
docker-compose up -d
Creating network "docker_default" with the default driver
Creating docker_echo_1 ... done
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1cd81912b74e example/echo:latest "go run /echo/main.go" 16 seconds ago Up 15 seconds 0.0.0.0:9000->8080/tcp docker_echo_1
volumesを指定するとローカルの修正を反映しやすくなる。
volumes:
- .:/app
:
の左右で環境を指定
左側:ローカル、右側:コンテナ
上記の場合、ローカルのカレントディレクトリとコンテナ内のappディレクトリを繋ぐ
ローカルを修正後、docker-compose restart
で変更の反映が可能。
imageを指定すると固定情報で起動が可能
Why
Dockerはアプリケーションのデプロイに特化したコンテナで、Dockerコンテナ=単一アプリケーションと言い換えられる。 Dockerを使用し、実用的なシステムを構築するためには、複数のコンテナ間で通信し依存関係を持たせる必要がある。
What
Docker Composeを使い、複数コンテナ実行を一括で管理する方法を学ぶ