Docker Compose
Content
Preparations
Docker Compose only needs to be installed on the Linux operating system. Other operating systems already have Docker Compose installed by the Docker Toolbox.
# on linux with root rightscurl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
You can find more information about this on the installation page of Docker Compose.
Configuration file
Docker Compose needs a docker-compose.yaml file for its configuration. You can also configure ApiOmat environment variables within this yaml file.
version: '3'services: mongo: image: apiomat/mongo-conf:3.4 environment: USE_SMALL_FILES: "true" STORAGE_ENGINE: mmapv1 user: root volumes: - apiomat-mongo:/data yambas: image: apiomat/alpine-yambas:x.x.x user: root environment: DEBUG: "true" common_hosts_admin: http://localhost:8081 common_hosts_live: http(s)://<external address> common_hosts_staging: http(s)://<external address> common_hosts_test: http(s)://<external address> common_isEnterpriseInstallation: "true" DISABLE_HAZELCAST_MULTICAST: "true" yambas_mongodb_hosts_default: mongo:27017 yambas_license_key: <your_license_key> yambas_configEncryptionKey: <your_config_encryption_key_min_16_chars> LOG4J_LEVEL_APIOMAT: info LOG4J_LEVEL_MONGODB: error LOG4J_LEVEL_JERSEY: error LOG4J_LEVEL_HAZELCAST: info dashboard: image: apiomat/alpine-dashboard:x.x.x user: root environment: DEBUG: "true" YAMBAS_EXTERNAL: yambas YAMBAS_EXTERNAL_PORT: 10009 common_hosts_admin: http://localhost:8000 common_hosts_live: http(s)://<external address> common_hosts_staging: http(s)://<external address> common_hosts_test: http(s)://<external address> common_isEnterpriseInstallation: "true" yambas_mongodb_hosts_default: mongo:27017 ports: - 8000:8000volumes: apiomat-mongo:CLI
With the following commands you can control the ApiOmat docker containers.
# create volumedocker volume create --name=data-db# start docker-compose stackdocker-compose -f .\docker-compose.yml -p "apiomat" up# stop docker-compose stackdocker-compose -f .\docker-compose.yml -p "apiomat" stop# remove docker-compose stackdocker-compose -f .\docker-compose.yml -p "apiomat" rm -f
Further information about the docker-compose CLI can be found here.
The following is an excerpt from the docker ps command after executing docker-compose up:
Docker PS of docker-compose
The next picture shows the Docker statistics (docker stats) of the docker-compose:
-
Container (9eea03aa3dc5) is alpine-dashboard
-
Container (9f98b8f03536) is alpine-dashboard
-
Container (2ac02af2ee50) is mongo-conf