volumes¶
This section covers the integration compatibility with docker-compose volumes into AWS ECS.
Implementation in the AWS + Docker ECS Plugin¶
The ECS Plugin which allows you to define, in a similar way to ECS Compose-X, your volumes, is of the opinion that any volume you would create is going to be a shared persistent volume using AWS EFS.
As you can see in these examples, you can either leave things by default or define some EFS equivalent properties to define your volumes.
Implementation in ECS Compose-X¶
To maintain compatibility with the ECS Plugin, if you did specify that the driver should be nfs or efs (although this is not a supported network driver!), ECS Compose-X will create for you a new FS etc. allowing your containers to connect.
However, by default, ECS Compose-X will follow the behaviour described in the docker-compose volumes reference, which is to respect the driver and driver_opts settings.
Define a volume for the task only¶
Although you cannot create a tmpfs in AWS Fargate, you might for consistency with your local development, define a volume just to mount to a specific path.
As per the docker-compose volumes reference, we could have the following
services:
service-01:
volumes:
# Just specify a path and let the Engine create a volume
- /var/lib/mysql
There what ECS Compose-X will do is to create in the task definition a new volume using the local driver volume type, and assign that to the container definition in the task definition specifically.