how to attach a EBS volume to my container using docker-compose.yml and ecs-cli

I am using docker-compose.yml to define a set of containers. And use ecs-cli compose (service) up to create my application on AWS.

I know AWS ECS comes with 100GB EBS automatically when a container is created. (Even though the EC2 instance that hosts the container only have 8GB of hard drive.)
I want to have a persistent storage so that even if I updated my container, it can still point to the same 100GB EBS. I am pretty sure I can do the following to achieve this goal:

  • How can I backup volumes in the IBM Docker Cloud in Bluemix?
  • Not able to switch my Docker's automatic build repository to a private repository for an Organisation
  • How to use existing Docker Volume in a Dockerfile
  • Incorporating Jenkins Security in Docker Image?
  • flocker-docker-plugin not working on centos7.2
  • Is there a way to tell kubernetes to update your containers?
  • Attach an external EBS to the EC2 instance, and use volume in the
    compose file to attach that volume to the container.

    However, I feel there might be a better way to do so on ECS since it gives you 100GB ELB automatically. That is, if I use the above approach, then I am really ‘wasting’ the 100GB volume that comes with each container.
    So, what is the best way to achieve this. Could you give an answer in the form of a docker-compose.yml format like the following?

    container1:
      image: image1
    
    container2:
      image: image2
      links:
        - "container1"
    

  • How to acces mongorestore/mongodump in docker image
  • Does Docker EXPOSE make a new layer?
  • Dockerized Angular 4 and Django is compiled successfully but localhost:4200 is not working
  • Add docker container to network under two different names
  • What is the better way to do service discovery on Docker environment?
  • Docker watchtower with private registry
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.