Deploy using Docker Compose
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application services. For installation of docker compose, see docker-compose-install.
Application Deployment using DB
WaveMaker application deployment requires DB for its operation. For example, deployment using mysqldb.
- Use the below Docker-compose file for deploying multi-container WaveMaker application.
version: "3.3"
services:
db:
image: mysql:5.6
environment:
MYSQL_ROOT_PASSWORD: root_password
volumes:
- /wavemakerapp/mysql/:/var/lib/mysql
networks:
- wmo_app
webapp:
image: ./wavemaker-application/
environment:
wm.mysqlCloudHost: db:3306
wm.mysqlCloudUsername: root
wm.mysqlCloudPassword: root_password
volumes:
- /wavemakerapp/tomcat-logs:/usr/local/tomcat/logs
networks:
- wmo_app
nginx:
build:
context: ./nginx/
ports:
- "80:80"
volumes:
- /wavemakerapp/nginx-logs:/var/log/nginx
networks:
- wmo_app
networks:
wmo_app:
driver: bridge
-
WaveMaker-application folder consists of Dockerfile and application code for building WaveMaker app. For Dockerfile, see WaveMaker Dockerfile, and use the Dockerfile for building WaveMaker application.
-
The
nginxfolder consists of anginxDockerfile and aconffile for reverse proxy operations.
nginx Dockerfile
FROM nginx:1.16
COPY ./default.conf /etc/nginx/conf.d/
The nginx default.conf file for reverse proxy.user can modify the conf file based on their requirements.
upstream webapp_wm {
server webapp:8080;
}
server {
listen 80;
listen [::]:80;
location / {
proxy_pass http://webapp_wm;
}
underscores_in_headers on;
proxy_ssl_server_name on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-SSL-Request 1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
- For creating multi-container WaveMaker application using above configuration, run the following command.
docker-compose -f docker-composefile-name up -d