Docker-compose pomaga w automatyzacji. Domyśli plik to docker-compose.yml
Pamiętaj że format pliku to YAML.
Schemat
Wykorzystany z źródeł internetu schemat pliku:
version: '3.1' # if no version is specificed then v1 is assumed. Recommend v2 minimum services: # containers. same as docker run servicename: # a friendly name. this is also DNS name inside network image: # Optional if you use build: command: # Optional, replace the default CMD specified by the image environment: # Optional, same as -e in docker run volumes: # Optional, same as -v in docker run servicename2: volumes: # Optional, same as docker volume create networks: # Optional, same as docker network create
Korzystamy z dwóch najpopularniejszych komend:
$ docker-compose up$ docker-compose down
Przykładowa implementacja Drupala do Docker-compose i Dockerfile
Poniżej przygotowany na podstawie oficjalnego dokumentu plik Docker-compose.yml:
version: '3.1' services: drupal: image: drupal-dockerfile build: . ports: - "8080:80" volumes: - drupal-modules:/var/www/html/modules - drupal-profiles:/var/www/html/profil - drupal-sites:/var/www/html/sites - drupal-themes:/var/www/html/themes restart: always postgres: image: postgres environment: POSTGRES_PASSWORD: example volumes: - drupal-psql restart: always volumes: drupal-psql: drupal-modules: drupal-profiles: drupal-sites: drupal-themes:
Plik Dockerfile z dodatkową konfiguracją kontenera Drupal:
FROM drupal:8.2 RUN apt-get update && apt-get install -y git
Następnie wystarczy tylko uruchomić dany kontener za pomocą komendy:
$ docker-compose up$ docker-compose down -v # wyłączyć wraz z usunięciem volumes