docker-archive / compose-cli

Easily run your Compose application to the cloud with compose-cli
Apache License 2.0
958 stars 254 forks source link

`docker compose` using ecs context does not create the correct EFS performance-mode #2207

Open rg314 opened 2 years ago

rg314 commented 2 years ago

Description When I use Docker with ECS to create a cluster on AWS an EFS volume is created and mounted but does not have the correct performance-mode according to the docker-compose.yml file.

Steps to reproduce the issue:

  1. Create docker ECS context (docker context create ecs)
  2. Run the docker-compose.yml file

The docker-compose.yml file

version: "3.9"

services:
  db:
    image: postgres:12
    volumes:
    - dbdata:/var/lib/postgresql/data/pgdata
    environment:
    - PGDATA=/var/lib/postgresql/data/pgdata
    - POSTGRES_SERVER=server
    - POSTGRES_USER=username
    - POSTGRES_PASSWORD=password
    - POSTGRES_DB=dbapp

volumes:
  dbdata:
    driver_opts:
      performance-mode: maxIO
      throughput-mode: bursting
      uid: 0
      gid: 0

Run the file

docker compose --project-name debug --file docker-compose.yml --verbose up

Output

[+] Running 7/13                         CreateInProgress User Initiated                                                                   49.2s
 ⠸ debug                                CreateInProgress User Initiated                                                                   49.3s
 ⠿ CloudMap                              CreateComplete                                                                                    46.0s
 ⠿ DbdataFilesystem                      CreateComplete                                                                                     6.0s

Therefore, the DbdataFilesystem should have been created with performance-mode: maxIO

Describe the results you received: However, this is what I get:

image

Describe the results you expected: If I use the AWS CLI then no problems

aws efs create-file-system --performance-mode maxIO
image

Output of docker compose version:

Docker Compose version v2.6.1
ryan@ryan:~$ docker context use ecs && docker compose version
ecs
Docker Compose version dev

Output of docker info:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  compose: Docker Compose (Docker Inc., v2.6.1)

Server:
 Containers: 18
  Running: 11
  Paused: 0
  Stopped: 7
 Images: 766
 Server Version: 20.10.16
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
 runc version: v1.1.1-0-g52de29d
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.13.0-52-generic
 Operating System: Ubuntu 20.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 24
 Total Memory: 62.71GiB
 Name: ryan
 ID: ZUBW:74W7:KXAH:M6SV:7RZ4:7SPP:XC2O:PKID:MSWL:WPKE:24IN:IKMT
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Additional environment details: AWS ECS

ndeloof commented 1 year ago

Moving issue to "Cloud Integration" repository, as this isn't related to Docker Compose

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.