Service is an application deployed in D2C.
D2C executes your services/applications inside containers. We use Docker as our containerization platform. Each app is a separate container: web-app, database, load-balancer, etc. Docker is installed and configured on the hosts that are managed by D2C automatically. When you deploy your service, all the necessary files are delivered to the host, and container images are built locally on the host and then run by Docker daemon. D2C configures the environment automatically, so we do not recommend to add your current development boxes as managed hosts, to prevent any configuration conflicts.
Once you can deploy up to 50 containers (except services, which have their limitations).
Each service has its unique name. Services can communicate with each other by container names (e.g.
servicename-1 or alias-names (e.g.
servicename-master). It doesn’t matter on which host a service is running – all private network intercommunication is transparent for services. Moreover, we use them to create public domains like: servicename-www.accountID.at.d2c.io for your services which are served by NGINX or HAProxy.
The name should start with a letter and contain up to 16 characters (Latin letters, numbers, hyphen).
|MongoDB||StandAlone or ReplicaSet||Yes||3.0, 3.2, 3.4, 3.6|
|MySQL||StandAlone or MasterSlave||Yes||5.5, 5.6, 5.7, 8.0|
|MariaDB||StandAlone or MasterSlave||Yes||5.5, 10.0, 10.1, 10.2, 10.3|
|Percona||StandAlone or MasterSlave||Yes||5.5, 5.6, 5.7|
|PostgreSQL||StandAlone or MasterSlave||Yes||9.6, 10.0, 10.1, 10.2, 10.3, 10,4|
|Crate||StandAlone||No||2.0, 2.1, 2.2, 2.3|
|Redis||Yes||2.8, 3.0, 3.2, 4.0|
|ElasticSearch||StandAlone||No||2.4, 5.3, 5.5, 5.6|
|Node.js||Yes||4, 6, 8, latest(9)|
|Python||Yes||2.7, 3.5, 3.6, 3.7|
|Go||Yes||1.7, 1.8, 1.9, 1.10|
|Ruby||Yes||1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5|
|PHP-FPM||Yes||5.6, 7.0, 7.1, 7.2|
|APACHE+PHP||Yes||5.6, 7.0, 7.1, 7.2|
|NGINX||No||1.11, 1.12, 1.13, 1.14, 1.15||NGINX is an edge service for serving on top of stack. It can generate free TSL certificates (by Let’s Encrypt).|
|NGINX-Cluster||Yes||1.11, 1.12, 1.13, 1.14, 1.15||NGINX-Cluster for cases when your service does not return static files or you need to serve more than one PHP-FPM container.|
|NGINX-Static||Yes||1.11, 1.12, 1.13, 1.14, 1.15||NGINX-Static returns static files (HTML, JS, CSS, images, etc.). It cannot serve other services.|
|HAProxy||No||latest||HAProxy is a load balancer. May be used as edge service. It can generate free TSL certificates (by Let’s Encrypt).|
|Docker (Services based on Docker Images)||Yes|
Actions which have all services:
- Update version
- Move (between projects)
- Destroy (+force destroy)
- Destroy and redeploy. For cases when you want to start deploying service from scratch
- Edit settings
- Scale (except some services e.g. NGINX)
- Add load-balancer
- Execute - executing a command inside all running service containers
Additional action with MongoDB, MySQL, MariaDB, Percona, PostgreSQL services:
- Reset superuser password
All application services have smart update feature which you can choose separately or combine with each other:
- Update version (data and other services have only this one)
- Update global dependencies
- Update local dependencies
- Update sources
- Include .git folder
All data of services are stored in:
For example, you can find sources in:
Each service has system logs (deploy logs).
The line which has ellipsis marks, in the end, can be opened with a mouse click.
Messages of building images consist stdout, and it also can be shown.
How the service page look like¶