Multi-container applications
The example in the previous section was fun but did not really gain us anything over using the docker
command. Most Internet applications have multiple pieces. The most common example is a web application that loads data from a database.
In ch02/web-db
of the docker-orchestration-examples
repository there is a very simple application that loads a list of authors and books from MySQL and displays them on a web page. Here is a docker-compose.yml
that defines the application:
version: '2' services: web: image: web-db:0.1 build: . ports: - 80:5000 env_file: - db.env entrypoint: ./start.pl --init --command shotgun db: image: mysql:5.7 env_file: - db.env
The first thing that you should notice is that there are two services
defined. The first, web
, is the web application. The second, db
, is a MySQL container. Let's look at them one at a time.
The build
key tells docker-compose
that this service...