Linux, DevOps and Cloud Expert at Linux Guru !

image source medium


How to use Docker compose.

If you are using docker for your application and you are using more than one container for your app, then you have to use docker compose for app and it's too time consuming, example: web server with database will run from same file (WordPress,apache OR mysql). Docker compose allow you to use YAML file to run deploy multi container apps. We can configure multiple container we want. In the docker file it describe how app will build, connect and where data stored.
To run docker compose, You have to install docker and docker compose in your PC.
To install docker click here.
  • Install docker compose.
Download latest version of docker compose.
$ curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  • Give the permission to the binary.
$ chmod +x /usr/local/bin/docker-compose
  • Now we will install wordpress site along with mysql using docker compose. let's create docker compose file.
$ vim docker-compose.yaml
version: '3'

services:

   database:

     image: mysql:5.7

     volumes:

       - db_data:/var/lib/mysql1

     restart: always

     environment:

       MYSQL_ROOT_PASSWORD: yourRootpassword

       MYSQL_DATABASE: wordpress

       MYSQL_USER: wordpress

       MYSQL_PASSWORD: yourpassword


   wordpress:

     depends_on:

       - database

     image: wordpress:latest

     ports:

       - "80:80"

     restart: always

     environment:

       WORDPRESS_DB_HOST: db:3306

       WORDPRESS_DB_USER: wordpress

       WORDPRESS_DB_PASSWORD: yourpassword

volumes:

    db_data:
Save the file and run the docker compose from same directory.This file will build database and WordPress containers. it will run docker with -d flag with detached mode.
  • Run docker compose.
$ docker-compose up -d
  • You can check the docker status of the file.
$ docker ps 




  • To remove the docker composer.
$ docker-compose down
Check from browser with localhost and configure with your settings.


No comments:

Post a Comment