Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Docker Orchestration

You're reading from   Docker Orchestration A concise, fast-paced guide to orchestrating and deploying scalable services with Docker

Arrow left icon
Product type Paperback
Published in Jan 2017
Publisher Packt
ISBN-13 9781787122123
Length 284 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Randall Smith Randall Smith
Author Profile Icon Randall Smith
Randall Smith
Gianluca Arbezzano Gianluca Arbezzano
Author Profile Icon Gianluca Arbezzano
Gianluca Arbezzano
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Getting Started with Docker Orchestration FREE CHAPTER 2. Building Multi-Container Applications with Docker Compose 3. Cluster Building Blocks – Registry, Overlay Networks, and Shared Storage 4. Orchestration with Docker Swarm 5. Deploying and Managing Services with Kubernetes 6. Working with Mesosphere 7. Using Simpler Orchestration Tools – Fleet and Cattle 8. Monitoring Your Cluster 9. Using Continuous Integration to Build, Test, and Deploy Containers 10. Why Stop at Containers? Automating Your Infrastructure

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...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime