Easily run your Compose application to the cloud with compose-cli

Overview

Docker Compose CLI

Actions Status Actions Status

This CLI tool makes it easy to run Docker containers and Docker Compose applications in the cloud using either Amazon Elastic Container Service (ECS) or Microsoft Azure Container Instances (ACI) using the Docker commands you already know.

To get started, all you need is:

Please create issues to leave feedback.

Examples

Development

See the instructions in BUILDING.md for how to build the CLI and run its tests; including the end to end tests for local containers, ACI, and ECS. The guide also includes instructions for releasing the CLI.

Before contributing, please read the contribution guidelines which includes conventions used in this project.

Issues
  • CLI issues with ZSH on OS X:

    CLI issues with ZSH on OS X: "com.docker.cli: executable file not found"

    Description

    Several users using ZSH on OS X have reported an error when running commands in VSCode (https://github.com/microsoft/vscode-docker/issues/2366). The commands run are typically done with zsh -c 'docker build ...' internally by VSCode.

    Related: https://github.com/docker/for-mac/issues/4956

    Steps to reproduce the issue:

    1. Install Docker Desktop for Mac 2.4.0.0.
    2. Run zsh -c 'docker some command'

    Describe the results you received: "exec: "com.docker.cli": executable file not found in $PATH".

    Describe the results you expected: Successful execution of the command

    Workaround: Disabling the "Cloud Experience" in settings has worked for these users.

    bug: regression ↩️ 
    opened by bwateratmsft 30
  • A load balancer cannot be attached to multiple subnets in the same AvailabilityZone

    A load balancer cannot be attached to multiple subnets in the same AvailabilityZone

    Description Our VPC has multiple subnets in the same AZs. When running docker compose up using this VPC specified it gives this error: A load balancer cannot be attached to multiple subnets in the same Availability Zone (Service: AmazonElasticLoadBalancing; Status Code: 400; Error Code: InvalidConfigurationRequest

    Steps to reproduce the issue:

    1. Create a VPC with multiple subnets in the same VPC
    2. Set x-aws-vpc to that VPC in your compose file
    3. Run docker compose up

    Describe the results you received: Error message (above)

    Describe the results you expected: Should have successfully created the load balancer.

    Additional information you deem important (e.g. issue happens only occasionally):

    Output of docker version:

    Client:
     Cloud integration: 1.0.2
     Version:           19.03.12
     API version:       1.40
     Go version:        go1.13.15
     Git commit:        48a66213fe17
     Built:             Mon Aug  3 00:00:00 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server:
     Engine:
      Version:          19.03.12
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.15
      Git commit:       48a66213fe17
      Built:            Mon Aug  3 00:00:00 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          v1.2.13
      GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc:
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
     docker-init:
      Version:          0.1.5_catatonit
      GitCommit:        
    
    

    Output of docker context show:
    You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

    [
        {
            "Name": "aws",
            "Metadata": {
                "Description": "(us-east-1)",
                "Type": "ecs"
            },
            "Endpoints": {
                "docker": {
                    "SkipTLSVerify": false
                },
                "ecs": {
                    "Profile": "default"
                }
            },
            "TLSMaterial": {},
            "Storage": {
                "MetadataPath": 
                "TLSPath": 
            }
        }
    ]
    
    

    Output of docker info:

    Client:
     Debug Mode: false
    
    Server:
     Containers: 13
      Running: 0
      Paused: 0
      Stopped: 13
     Images: 50
     Server Version: 19.03.12
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     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: oci runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
     init version: 
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 5.8.14-1-default
     Operating System: openSUSE Tumbleweed
     OSType: linux
     Architecture: x86_64
     CPUs: 8
     Total Memory: 15.52GiB
     Name: linux-cxdk
     ID: PFKF:BT7E:U52Z:NHNG:SUPN:OES4:PZJM:KMLE:LPII:YXWM:YZEU:EM3D
     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, Azure ACI, local, etc.): AWS ECS

    ecs bug 🐞 
    opened by shawnhind 25
  • "not a directory: unknown: Are you trying to mount a directory onto a file" error produced when mounting a single file on a container

    • [x] I have tried with the latest version of Docker Desktop
    • [x] I have tried disabling enabled experimental features
    • [x] I have uploaded Diagnostics
    • Diagnostics ID: 119E07EF-6952-4A59-B13D-E5489EF05FE9/20210614165845

    Expected behavior

    I am running a service which mounts a file onto the docker container. The service is define like so in the docker-compose file:

    version: "2.1"
    
    services:
        tms_make:    
            image: node:12.4.0-stretch     
            working_dir: /project    
            volumes:      
                - ./addons/tms/webpack.config.js:/project/webpack.config.js
    

    I would expect the webpack.config.js file to mounted to the docker container.

    Actual behavior

    Error:

    Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: rootfs_linux.go:60: mounting "/Users/sev/projects/boot/addons/tms/webpack.config.js" to rootfs at "/var/lib/docker/overlay2/febdeca9fa5544324f62938537e9423b7d520bb7aa55e98db2b9cf3d66c5b1f3/merged/project/webpack.config.js" caused: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
    

    Information

    I have tried a few things to try and resolve the issue:

    • Removing the container and the volumes and trying again.
    • Turning the gRPC FUSE for file sharing checkbox off in the preferences. (there's a bunch of github issues on the docker github so I thought it might be a quick win)
    • I also tried manually binding the file (to check if there was an issue with the file itself) and there was no errors
    docker run -d \
    --name testdocker \
    --mount type=bind,source="$(pwd)"/addons/tms/webpack.config.js,target=/project/webpack.config.js \
    node:12.4.0-stretch
    

    and

    docker run -d \
    --name testdocker \
    -v "$(pwd)"/addons/tms/webpack.config.js:project/webpack.config.js \
    node:12.4.0-stretch
    
    • I have tried mounting the directory and that worked fine - for some reason it's failing on single files?

    • My colleagues (with the same docker desktop version) are running the same docker compose file to spin up their development environment without any issues. It seems like there's something specific to my machine / setup

      • macOS Version: Big Sur (v 11.3.1)
      • Intel chip or Apple chip: Intel
      • Docker Desktop Version: 3.4.0

    Steps to reproduce the behavior

    Please see above

    bug 🐞 
    opened by osev 24
  • Docker v2 Beta can't handle env file without

    Docker v2 Beta can't handle env file without "=" after variable name

    Description

    When you specify --env-file filename.env for the new docker-compose and the env file contains just variable names without "=" afterwards, the docker-compose command fails with "Can't separate key from value"

    Steps to reproduce the issue:

    1. Create _docker.env file with this content in a directory where you have a docker-compose file:
    VARIABLE
    
    1. Run docker-compose up --env-file ${PATH}/_docker.env

    Describe the results you received:

    The command fails with Can't separate key from value error

    Describe the results you expected:

    • It should not fail
    • If VARIABLE is not defined in host, it should not be present in the container
    • If VARIABLE is defined in host, it should be set in the container to the same value

    Additional information you deem important (e.g. issue happens only occasionally):

    Seems that adding = after the variable fixes the problem:

    VARIABLE=
    

    This issue was first discovered in https://github.com/apache/airflow/issues/16949 and workarounded in https://github.com/apache/airflow/pull/16950 by @oyarushe for Apache Airflow.

    **Output of docker-compose --version: ***

    v2.0.0-beta.6
    

    Output of docker version:

    Docker Desktop: 3.5.2 on MacOS
    
    bug: regression ↩️ compatibility 
    opened by potiuk 19
  • docker compose up doesn't use credentials to pull images from ghcr.io

    docker compose up doesn't use credentials to pull images from ghcr.io

    Description

    Attempting to run docker compose up -d with a compose file that references a private image on ghcr.io fails with the following error:

    failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized

    docker-compose up -d works, and docker compose up -d works if I run docker pull for that image first.

    Steps to reproduce the issue:

    1. Create a docker-compose.yml file that references a private image on ghcr.io
    2. Log into ghcr.io via docker login ghcr.io
    3. Run docker compose up -d

    Describe the results you received:

    % docker --debug compose up -d
    DEBUG serving grpc connection
    DEBUG serving grpc connection
    DEBUG serving grpc connection
    [+] Building 0.7s (7/7)
     => [redacted1 internal] load build definition from Dockerfile 0.0s
     => => transferring dockerfile: 86B 0.0s
    [+] Building 0.8s (9/9) FINISHED
     => [redacted1 internal] load build definition from Dockerfile 0.0s
     => => transferring dockerfile: 86B 0.0s
     => [elasticsearch internal] load build definition from Dockerfile 0.0s
     => => transferring dockerfile: 62B 0.0s
     => [phpmyadmin internal] load build definition from Dockerfile 0.0s
     => => transferring dockerfile: 69B 0.0s
     => [redacted1 internal] load .dockerignore 0.0s
     => => transferring context: 2B 0.0s
     => [elasticsearch internal] load .dockerignore 0.0s
     => => transferring context: 2B 0.0s
     => [phpmyadmin internal] load .dockerignore 0.0s
     => => transferring context: 2B 0.0s
     => ERROR [redacted1 internal] load metadata for ghcr.io/redacted2/redacted3:redacted4 0.1s
     => CANCELED [elasticsearch internal] load metadata for docker.io/library/elasticsearch:7.12.0 0.0s
     => CANCELED [phpmyadmin internal] load metadata for docker.io/library/phpmyadmin:5.1.0-fpm-alpine 0.0s
    ------
     > [redacted1 internal] load metadata for ghcr.io/redacted2/redacted3:redacted4:
    ------
    The new 'docker compose' command is currently experimental. To provide feedback or request new features please open issues at https://github.com/docker/compose-cli
    failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized
    

    Describe the results you expected:

    Same behavior as docker-compose up -d: compose-cli should use the credentials received from docker login

    Additional information you deem important (e.g. issue happens only occasionally):

    I'm on the M1 preview build of Docker Desktop for macOS, 3.3.0 (62632), RC3.

    Output of docker version:

    Client: Docker Engine - Community
     Cloud integration: 1.0.10
     Version:           20.10.5
     API version:       1.41
     Go version:        go1.13.15
     Git commit:        55c4c88
     Built:             Tue Mar  2 20:13:00 2021
     OS/Arch:           darwin/amd64 (rosetta)
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.5
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.13.15
      Git commit:       363e9a8
      Built:            Tue Mar  2 20:16:48 2021
      OS/Arch:          linux/arm64
      Experimental:     true
     containerd:
      Version:          1.4.4
      GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
     runc:
      Version:          1.0.0-rc93
      GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    

    Output of docker context show:

    % docker context show
    default
    % docker context inspect default
    [
        {
            "Name": "default",
            "Metadata": {
                "StackOrchestrator": "swarm"
            },
            "Endpoints": {
                "docker": {
                    "Host": "unix:///var/run/docker.sock",
                    "SkipTLSVerify": false
                }
            },
            "TLSMaterial": {},
            "Storage": {
                "MetadataPath": "\u003cIN MEMORY\u003e",
                "TLSPath": "\u003cIN MEMORY\u003e"
            }
        }
    ]
    

    Output of docker info:

    Client:
     Context:    default
     Debug Mode: false
     Plugins:
      app: Docker App (Docker Inc., v0.9.1-beta3)
      buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
      scan: Docker Scan (Docker Inc., v0.6.0)
    
    Server:
     Containers: 0
      Running: 0
      Paused: 0
      Stopped: 0
     Images: 0
     Server Version: 20.10.5
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     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 runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
     runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
     init version: de40ad0
     Security Options:
      seccomp
       Profile: default
     Kernel Version: 5.10.25-linuxkit
     Operating System: Docker Desktop
     OSType: linux
     Architecture: aarch64
     CPUs: 4
     Total Memory: 3.841GiB
     Name: docker-desktop
     ID: MTTL:GPGI:RRKW:ACCC:BZVR:CAEG:SYFI:WGRP:45J2:QISG:IXDQ:RSK4
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     HTTP Proxy: http.docker.internal:3128
     HTTPS Proxy: http.docker.internal:3128
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: true
     Insecure Registries:
      127.0.0.0/8
     Live Restore Enabled: false
    

    Additional environment details (AWS ECS, Azure ACI, local, etc.):

    I'm on the M1 preview build of Docker Desktop for macOS, 3.3.0 (62632), RC3

    compatibility 
    opened by Zenexer 18
  • Shows

    Shows "VPC should have at least 2 associated subnets in different availability zones" but my VPC has 2 subnets in different AZ's

    I tried to use the option x-aws-vpc on my docker compose file, so I can specify an existing VPC, but as long as I run docker compose up it shows "VPC should have at least 2 associated subnets in different availability zones" which is wrong cause I have 2 different subnets on different AZ's on that VPC, so I'm not sure if there's a missconfiguration on my VPC or someting that I missed on the compose file.

    Steps to reproduce the issue: 1. 3. 2.

    Describe the results you received: VPC should have at least 2 associated subnets in different availability zones

    Describe the results you expected: Resources to be created on the VPC i specify

    Additional information you deem important (e.g. issue happens only occasionally):

    Output of docker version:

    Client:
     Cloud integration: 1.0.1
     Version:           19.03.6-ce
     API version:       1.40
     Go version:        go1.13.4
     Git commit:        369ce74
     Built:             Fri May 29 04:01:26 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server:
     Engine:
      Version:          19.03.6-ce
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.4
      Git commit:       369ce74
      Built:            Fri May 29 04:01:57 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.3.2
      GitCommit:        ff48f57fc83a8c44cf4ad5d672424a98ba37ded6
     runc:
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    

    Output of docker context show:
    You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

    [
        {
            "Name": "test",
            "Metadata": {
                "Description": "(eu-west-2)"
            },
            "Endpoints": {
                "docker": {
                    "SkipTLSVerify": false
                },
                "ecs": {
                    "Profile": "test",
                    "Region": "eu-west-2"
                }
            },
            "TLSMaterial": {},
            "Storage": {
                "MetadataPath": "/path",
                "TLSPath": "/path"
            }
        }
    ]
    

    Output of docker info:

    Client:
     Debug Mode: false
    
    Server:
     Containers: 1
      Running: 0
      Paused: 0
      Stopped: 1
     Images: 2
     Server Version: 19.03.6-ce
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     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: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: ff48f57fc83a8c44cf4ad5d672424a98ba37ded6
     runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
     init version: fec3683
     Security Options:
      seccomp
       Profile: default
     Kernel Version: 4.14.198-152.320.amzn2.x86_64
     Operating System: Amazon Linux 2
     OSType: linux
     Architecture: x86_64
     CPUs: 1
     Total Memory: 983.3MiB
     Name: ip-10-0-0-180.eu-west-2.compute.internal
     ID: UGZR:7DAU:VJDC:E2JB:Z5P2:FI3Q:ST4K:HAUU:SGJ2:HQSU:ZEGS:UKRT
     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, Azure ACI, local, etc.):

    ecs bug 🐞 stale 
    opened by mobereng 18
  • add support for overlays on generated cloudformation template

    add support for overlays on generated cloudformation template

    What I did Inspired by kustomize.io support in kubectl, introduce x-aws-cloudformation extension to pass patch files to apply on the converted CloudFormation template with unsupported features.

    This allows user to apply custom attributes on components we manage without being locked by unsupported features which hardly find their way in the compose model, while still being able to manage the deployment lifecycle just by docker compose up command.

    usage I want to deploy Jenkins:

    services:
      test:
        image: jenkins/jenkins:lts
        ports:
          - "80:80"
    

    Unfortunately, jenkins respond to / with a 403 error as users need to login. I need to tweak the LoadBalancer TargetGroupt healthCheck rules accordingly...

    Here comes my updated compose file:

    services:
      test:
        image: jenkins/jenkins:lts
        ports:
          - "80:80"
    
    x-aws-cloudformation:
      Resources:
        TestTCP80TargetGroup:
          Properties:
            Matcher: 
              HttpCode: 200-499
    
    docker compose up
    

    implementation details

    This relies on kustomize's kyaml library to merge yaml trees, which ensure we get consistent behaviour / avoid dependecies hell if we want to adopt a comparable mechanism in a kubernetes backend

    Related issue https://github.com/docker/compose-cli/issues/1115

    /test-ecs

    (not mandatory) A picture of a cute animal, if possible in relation with what you did image

    api cli ecs 
    opened by ndeloof 16
  • Add support to use --env-file for docker compose up

    Add support to use --env-file for docker compose up

    image

    It currently lacks support for --env-file flag, to load env vars form a file and automatically load env variables from .env like it does docker-compose.

    $ docker compose up --help
    Create and start containers
    
    Usage:
      docker compose up [SERVICE...] [flags]
    
    Flags:
          --build                     Build images before starting containers.
      -d, --detach                    Detached mode: Run containers in the background
      -e, --environment stringArray   Environment variables
      -f, --file stringArray          Compose configuration files
      -h, --help                      help for up
      -p, --project-name string       Project name
          --remove-orphans            Remove containers for services not defined in the Compose file.
          --workdir string            Work dir
    
    Global Flags:
          --config DIRECTORY   Location of the client config files DIRECTORY (default "/Users/kulikov/.docker")
      -c, --context string     context
      -D, --debug              Enable debug output in the logs
      -H, --host string        Daemon socket(s) to connect to
    
    aci local 
    opened by im-kulikov 15
  • Regression from v1.0.10: Cannot activate context when using docker-in-docker

    Regression from v1.0.10: Cannot activate context when using docker-in-docker

    Description

    Hello again, thanks for this great tool! Can't describe how pleased I am to avoid to CF templates 😅

    We use the compose cli in our CI jobs to deploy to ECS (requiring docker in docker). This has been working with v1.0.7 but I'm now looking to upgrade to the latest and greatest. When doing so I cannot seem to activate the ECS context.

    Steps to reproduce the issue:

    1. Create a docker image that has the Compose CLI and Compose v2 installed:
    echo 'FROM alpine:latest AS downloader
       # Install wget
       RUN apk add wget
       # Download the compose CLI
       RUN wget https://github.com/docker/compose-cli/releases/download/v1.0.17/docker-linux-amd64 && \\
           chmod +x docker-linux-amd64
       # Download compose local
       RUN wget https://github.com/docker/compose-cli/releases/download/v2.0.0-beta.3/docker-compose-linux-amd64 && \\
           chmod 755 docker-compose-linux-amd64
    
       FROM docker:20.10.7
       # Copy the built compose cli
       COPY --from=downloader docker-linux-amd64 /cli/docker
       # Copy compose v2 plugin
       COPY --from=downloader docker-compose-linux-amd64 /root/.docker/cli-plugins/docker-compose
       # Put docker somwhere we expect
       RUN ln -s /usr/local/bin/docker /usr/local/bin/com.docker.cli
       # Add to path
       ENV PATH="/cli:${PATH}"
       # Run
       CMD ["docker"]' > Dockerfile
    docker build -t compose-cli-test .
    
    1. Create a context
    $ docker run -it -e AWS_ACCESS_KEY_ID=abc -e AWS_SECRET_ACCESS_KEY=efg compose-cli-test sh
    # docker context create ecs --from-env ecs
    

    Describe the results you received:

    Cannot activate the ecs context:

    # docker --context ecs context show
    default
    # docker context use ecs && docker context show
    ecs
    default
    

    Therefore executing docker compose up will spin up a local stack.

    Describe the results you expected:

    To activate an ECS context and be able to deploy to ECS using docker compose up

    Note, in order to obtain docker version information I needed to mount the docker engine on my host machine with:

    docker run -it -e AWS_ACCESS_KEY_ID=abc -e AWS_SECRET_ACCESS_KEY=def -v /var/run/docker.sock:/var/run/docker.sock compose-cli-test sh
    

    Output of docker version:

    Client:
     Cloud integration: 1.0.17
     Version:           20.10.7
     API version:       1.41
     Go version:        go1.13.15
     Git commit:        f0df350
     Built:             Wed Jun  2 11:51:04 2021
     OS/Arch:           linux/amd64
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.7
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.13.15
      Git commit:       b0f5bc3
      Built:            Wed Jun  2 11:54:58 2021
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.4.6
      GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
     runc:
      Version:          1.0.0-rc95
      GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    

    Output of docker context show:
    You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

    default
    

    Output of docker info:

    Client:
     Context:    default
     Debug Mode: false
     Plugins:
      compose: Docker Compose (Docker Inc., 2.0.0-beta.3)
    
    Server:
     Containers: 11
      Running: 1
      Paused: 0
      Stopped: 10
     Images: 229
     Server Version: 20.10.7
     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 runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: d71fcd7d8303cbf684402823e425e9dd2e99285d
     runc version: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
     init version: de40ad0
     Security Options:
      seccomp
       Profile: default
     Kernel Version: 5.10.25-linuxkit
     Operating System: Docker Desktop
     OSType: linux
     Architecture: x86_64
     CPUs: 4
     Total Memory: 8.748GiB
     Name: docker-desktop
     ID: 6WLX:RSRY:TKNK:2CIA:6ST7:T3OO:ZKJ2:YISU:XOTR:MFPR:36ID:HLFE
     Docker Root Dir: /var/lib/docker
     Debug Mode: true
      File Descriptors: 49
      Goroutines: 59
      System Time: 2021-06-26T11:59:39.6248652Z
      EventsListeners: 3
     HTTP Proxy: http.docker.internal:3128
     HTTPS Proxy: http.docker.internal:3128
     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, Azure ACI, local, etc.):

    question :question: ecs stale 
    opened by briggySmalls 14
  • Docker Context Import/Export Commands Missing

    Docker Context Import/Export Commands Missing

    I originally filed this in docker/cli#2615, but I don't know if anyone looks at those.

    • [X] I have tried with the latest version of my channel (Stable or Edge)
    • [ ] I have uploaded Diagnostics
    • Diagnostics ID:

    My Docker for Mac (Edge) upgraded to 2.3.2.0 (46268), which includes Docker 19.03.12. For some reason, the docker context import and export commands are missing.

    $ docker --version
    Docker version 19.03.12, build 48a66213fe
    $ docker version
    Client: Docker Engine - Community
     Azure integration  0.1.4
     Version:           19.03.12
     API version:       1.40
     Go version:        go1.13.10
     Git commit:        48a66213fe
     Built:             Mon Jun 22 15:41:33 2020
     OS/Arch:           darwin/amd64
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.12
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.10
      Git commit:       48a66213fe
      Built:            Mon Jun 22 15:49:27 2020
      OS/Arch:          linux/amd64
      Experimental:     true
     containerd:
      Version:          v1.2.13
      GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc:
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    $ docker context --help
    Manage contexts
    
    Usage:
      docker context [command]
    
    Available Commands:
      create      Create new context
      inspect     Display detailed information on one or more contexts
      list        List available contexts
      rm          Remove one or more contexts
      show        Print the current context
      use         Set the default context
    
    Flags:
      -h, --help   help for context
    
    Global Flags:
          --config DIRECTORY   Location of the client config files DIRECTORY (default "/Users/king/.docker")
      -c, --context string     context
      -D, --debug              enable debug output in the logs
      -H, --host string        Daemon socket(s) to connect to
    
    Use "docker context [command] --help" for more information about a command.
    

    Expected behavior

    There should be commands under docker context for import and export of contexts.

    Actual behavior

    The docker context import and docker context export commands no longer exist.

    Information

    • macOS Version: 10.14.6

    My issue exists on Docker for Mac 2.3.2.0 (46268) on the edge channel. If I use the docker:19.03.12 image and run a container, the context import/export commands exist. The build shows the same hash.

    $ docker container run -it --rm -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.12 ash
    / # docker --version
    Docker version 19.03.12, build 48a66213fe
    / # docker version
    Client: Docker Engine - Community
     Version:           19.03.12
     API version:       1.40
     Go version:        go1.13.10
     Git commit:        48a66213fe
     Built:             Mon Jun 22 15:42:53 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.12
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.10
      Git commit:       48a66213fe
      Built:            Mon Jun 22 15:49:27 2020
      OS/Arch:          linux/amd64
      Experimental:     true
     containerd:
      Version:          v1.2.13
      GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc:
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    / # docker context --help
    
    Usage:	docker context COMMAND
    
    Manage contexts
    
    Commands:
      create      Create a context
      export      Export a context to a tar or kubeconfig file
      import      Import a context from a tar or zip file
      inspect     Display detailed information on one or more contexts
      ls          List contexts
      rm          Remove one or more contexts
      update      Update a context
      use         Set the current docker context
    
    Run 'docker context COMMAND --help' for more information on a command.
    

    Diagnostic logs

    Skipped.

    Steps to reproduce the behavior

    1. Install Docker for Mac 2.3.2.0 (46268) on the edge channel.
    2. Attempt to import or export Docker contexts.
    bug 🐞 
    opened by kinghuang 14
  • HTTPS Support for ECS Load Balancers

    HTTPS Support for ECS Load Balancers

    I'd like to be able to specify a TLS certificate from the AWS ACM that would configure a listener on the load balancer port 443 and appropriate inbound security rule. I do this on my own today after running docker compose up in the ecs context.

    docker-compose.yml would look something like:

    version: "3.8"
    services:
        web:
            image: my_image_that_listens_for_http_on_port_8080
            x-aws-loadbalancer_certificate: arn:aws:acm:us-east-2:858246198183:certificate/[uuid]
            ports:
                - "443:8080"
    
    ecs stale 
    opened by jdconley 14
  • Expose ACI nobrl mount option in driver_opts

    Expose ACI nobrl mount option in driver_opts

    Description

    Currently the driver_opts support the following entries:

      share_name: storageAccount
      storage_account_name: fileShare
    

    Hosting SQLite databases with CIFS storage is problematic if the nobrls option is not set on mount, see the following error descriptions:

    • https://fantashit.com/error-on-azure-container-instances-migration-failed-err-database-is-locked/
    • https://github.com/louislam/uptime-kuma/issues/1096
    • https://stackoverflow.com/questions/53226642/sqlite3-database-is-locked-in-azure

    Currently there is no way to set different mount options for the Azure File Share, in this particular case nobrl would be needed (see man-page and nobrl option).

    I totally understand that the image maintainers may be able to circumvent this behavior by using different methods of accessing SQLite databases, I would just to prefer to set the nobrl mount option and containers such as uptime-kuma, grafana and others (search for azure aci Error: PRAGMA journal_mode = WAL - SQLITE_BUSY: database is locked and you'll find many results) just work.

    Steps to reproduce the issue:

    1. Try to compose a container that relies on SQLite, e.g. uptime-kuma
    2. Observe error: PRAGMA journal_mode = WAL - SQLITE_BUSY: database is locked

    Additional information you deem important (e.g. issue happens only occasionally):

    Example docker-compose:

    version: '3.8'
    
    services:
      uptime-kuma:
        image: louislam/uptime-kuma
        container_name: kuma
        restart: unless-stopped
        ports:
          - 3001:3001
        volumes:
          - kuma:/app/data
    
    volumes:
      kuma:
        driver: azure_file
        driver_opts:
          share_name: <sharename>
          storage_account_name: <accountname>
    
    opened by DennisGaida 0
  • docker compose convert to docker engine api json

    docker compose convert to docker engine api json

    (Not sure the format for feature requests) We interface with microsoft iotedge which uses deployment jsons that are a super set of the docker engine api.

    I would like the ability to do docker compose -f some_custom_deployment.yml convert --format docker-engine

    For example HostConfig, CreateOptions, lowercase field names to Pascal (?), any other container create/run capabilities at least would be added to the generated json output.

    Important note, I am not asking for compatibility with iotedge deployment manifests. I just would to use a preexisting docker compose->docker engine api tool to do the more scary conversion between the 2 formats. At the moment, I'm basically going to be writing a version of https://github.com/docker/compose/blob/master/compose/service.py to get around this in the meantime, however it would be preferable to use an official tool by docker to do this instead ;)

    opened by josiahlaivins 0
  • docker context create aci returns

    docker context create aci returns "no subscriptions found" for AzureUSGovernment cloud

    Description

    When I run docker context create aci azurecontext, I get the response "no subscriptions found". I'm able to create new containers with az container create, and az account list -o table shows my subscription:

    Name                         CloudName          SubscriptionId                        State    IsDefault
    ---------------------------  -----------------  ------------------------------------  -------  -----------
    Azure Government Enterprise  AzureUSGovernment  4dae566e-*******************************  Enabled  True
    

    Steps to reproduce the issue: 1.Run docker context create aci azurecontext

    Describe the results you received:

    no subscriptions found

    Describe the results you expected: The creation of a context into which I could deploy containers.

    Additional information you deem important (e.g. issue happens only occasionally): I'm on the Azure Gov Cloud. I tried passing my --tenant-id and --subscription-id directly in the docker context create aci command, same result. This is on Windows, with Docker Desktop (but I'm using the command prompt).

    Output of docker-compose --version:

    Docker Compose version v2.6.1
    

    Output of docker version:

    Client:
     Cloud integration: v1.0.24
     Version:           20.10.17
     API version:       1.41
     Go version:        go1.17.11
     Git commit:        100c701
     Built:             Mon Jun  6 23:09:02 2022
     OS/Arch:           windows/amd64
     Context:           default
     Experimental:      true
    
    Server: Docker Desktop 4.10.1 (82475)
     Engine:
      Version:          20.10.17
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.17.11
      Git commit:       a89b842
      Built:            Mon Jun  6 23:01:23 2022
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.6
      GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
     runc:
      Version:          1.1.2
      GitCommit:        v1.1.2-0-ga916309
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    

    Output of docker context show:
    You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

    default
    

    Output of docker info:

    Client:
     Context:    default
     Debug Mode: false
     Plugins:
      buildx: Docker Buildx (Docker Inc., v0.8.2)
      compose: Docker Compose (Docker Inc., v2.6.1)
      extension: Manages Docker extensions (Docker Inc., v0.2.7)
      sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
      scan: Docker Scan (Docker Inc., v0.17.0)
    
    Server:
     Containers: 0
      Running: 0
      Paused: 0
      Stopped: 0
     Images: 0
     Server Version: 20.10.17
     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: 2
     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 runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
     runc version: v1.1.2-0-ga916309
     init version: de40ad0
     Security Options:
      seccomp
       Profile: default
      cgroupns
     Kernel Version: 5.10.104-linuxkit
     Operating System: Docker Desktop
     OSType: linux
     Architecture: x86_64
     CPUs: 2
     Total Memory: 1.447GiB
     Name: docker-desktop
     ID: RPHJ:5XN5:UYDM:6IX6:UMBE:LOWO:UXFW:QVGK:LPCU:XZ2X:66TX:SCIY
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     HTTP Proxy: http.docker.internal:3128
     HTTPS Proxy: http.docker.internal:3128
     No Proxy: hubproxy.docker.internal
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      hubproxy.docker.internal:5000
      127.0.0.0/8
     Live Restore Enabled: false
    

    Additional environment details (AWS ECS, Azure ACI, local, etc.):

    opened by sfirke 2
  • ipv4_address get ignored

    ipv4_address get ignored

    Hello,

    ipv4_address get ignored.

    docker-compose.yaml

    version: '3.8'
    
    services:
    
      openvpn:
        container_name: OpenVPN
        networks:
          private_network:
            ipv4_address: 172.28.28.2
        cap_add:
         - NET_ADMIN
        build:
         context: ./OpenVPN/
         dockerfile: Dockerfile
        ports:
         - "1194:1194/udp"
        restart: always
        volumes:
         - ./OpenVPN/openvpn-data/conf:/etc/openvpn
    
      samba:
        container_name: Samba
        networks:
          private_network:
            ipv4_address: 172.28.28.5
        image: dperson/samba
        environment:
          TZ: 'Europe/Paris'
        networks:
          - private_network
        ports:
          - "137:137/udp"
          - "138:138/udp"
          - "139:139/tcp"
          - "445:445/tcp"
        read_only: false
        tmpfs:
          - /tmp
        restart: always
        stdin_open: true
        tty: true
        volumes:
          - ./Samba/files:/mnt:z
        command: '-n -S -s "Files;/mnt;yes;no;yes;all" -p'
    
    
    networks:
      private_network:
          ipam:
              driver: default
              config:
                  - subnet: "172.28.28.0/24"
    
    

    Output of ifconfig in container OpenVPN:

    eth0      Link encap:Ethernet  HWaddr 02:42:AC:1C:1C:02  
              inet addr:172.28.28.2  Bcast:172.28.28.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:4796 errors:0 dropped:0 overruns:0 frame:0
              TX packets:4567 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:1476977 (1.4 MiB)  TX bytes:1426120 (1.3 MiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
              inet addr:192.168.255.1  P-t-P:192.168.255.2  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:2260 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2196 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:500 
              RX bytes:241295 (235.6 KiB)  TX bytes:1007702 (984.0 KiB)
    
    

    Output of ifconfig in container Samba:

    eth0      Link encap:Ethernet  HWaddr 02:42:AC:1C:1C:03  
              inet addr:172.28.28.3  Bcast:172.28.28.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:203 errors:0 dropped:0 overruns:0 frame:0
              TX packets:145 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:30467 (29.7 KiB)  TX bytes:24786 (24.2 KiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:4367 errors:0 dropped:0 overruns:0 frame:0
              TX packets:4367 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:537725 (525.1 KiB)  TX bytes:537725 (525.1 KiB)
    

    Output of docker-compose --version:

    Docker Compose version v2.6.0
    

    Output of docker version:

    Client: Docker Engine - Community
     Version:           20.10.17
     API version:       1.41
     Go version:        go1.17.11
     Git commit:        100c701
     Built:             Mon Jun  6 23:02:17 2022
     OS/Arch:           linux/arm64
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.17
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.17.11
      Git commit:       a89b842
      Built:            Mon Jun  6 23:00:41 2022
      OS/Arch:          linux/arm64
      Experimental:     false
     containerd:
      Version:          1.6.6
      GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
     runc:
      Version:          1.1.2
      GitCommit:        v1.1.2-0-ga916309
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    

    Output of docker context inspect context-name:

    [
        {
            "Name": "default",
            "Metadata": {
                "StackOrchestrator": "swarm"
            },
            "Endpoints": {
                "docker": {
                    "Host": "unix:///var/run/docker.sock",
                    "SkipTLSVerify": false
                }
            },
            "TLSMaterial": {},
            "Storage": {
                "MetadataPath": "\u003cIN MEMORY\u003e",
                "TLSPath": "\u003cIN MEMORY\u003e"
            }
        }
    ]
    

    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.0)
    
    Server:
     Containers: 2
      Running: 2
      Paused: 0
      Stopped: 0
     Images: 4
     Server Version: 20.10.17
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
      userxattr: false
     Logging Driver: json-file
     Cgroup Driver: systemd
     Cgroup Version: 2
     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 runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
     runc version: v1.1.2-0-ga916309
     init version: de40ad0
     Security Options:
      apparmor
      seccomp
       Profile: default
      cgroupns
     Kernel Version: 5.15.0-1011-raspi
     Operating System: Ubuntu 22.04 LTS
     OSType: linux
     Architecture: aarch64
     CPUs: 4
     Total Memory: 7.625GiB
     Name: s1
     ID: 4RMA:KQ24:MTWX:3PPI:3ZCV:S3GS:43XT:UCZP:AB62:G2FN:RYEI:2LOJ
     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, Azure ACI, local, etc.): On RPi4.

    opened by lpoirothattermann 0
  • env-file not working with ACI context

    env-file not working with ACI context

    Description

    Using the Microsoft Tutorial for testing purposes, I can deploy a local group of containers using the --env-file command for variable substitution, however when I try to do the same with an ACI context, I get the message ACI integration does not support labels in compose applications. The documentation here seems to indicate that the functionality should work.

    Steps to reproduce the issue:

    1. docker-compose.yml
    version: '3'
    services:
      azure-vote-back:
        image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
        container_name: azure-vote-back
        environment:
          ALLOW_EMPTY_PASSWORD: ${ALLOW_EMPTY_PASSWORD}
        ports:
            - "6379:6379"
    
      azure-vote-front:
        build: ./azure-vote
        image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
        container_name: azure-vote-front
        environment:
          REDIS: azure-vote-back
        ports:
            - "80:80"
    

    2 vars.env

    ALLOW_EMPTY_PASSWORD=yes
    
    1. run docker compose --env-file vars.env up

    Describe the results you received: ACI integration does not support labels in compose applications

    Describe the results you expected: The container to deploy

    Additional information you deem important (e.g. issue happens only occasionally):

    Output of docker-compose --version:

    docker-compose version 1.29.2, build 5becea4c
    

    Output of docker version:

    Client:
     Cloud integration: v1.0.25
     Version:           20.10.16
     API version:       1.41
     Go version:        go1.17.10
     Git commit:        aa7e414
     Built:             Thu May 12 09:17:07 2022
     OS/Arch:           windows/amd64
     Context:           bren-sandbox
     Experimental:      true
    
    Server: Docker Desktop 4.9.1 (81317)
     Engine:
      Version:          20.10.16
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.17.10
      Git commit:       f756502
      Built:            Thu May 12 09:15:42 2022
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.4
      GitCommit:        212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
     runc:
      Version:          1.1.1
      GitCommit:        v1.1.1-0-g52de29d
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    

    Output of docker context show:
    You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

    bren-sandbox
    

    Output of docker info: Note: I've swapped to default for this section, as the ACI context cannot provide this detail.

    Client:
     Context:    default
     Debug Mode: false
     Plugins:
      buildx: Docker Buildx (Docker Inc., v0.8.2)
      compose: Docker Compose (Docker Inc., v2.6.0)
      sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
      scan: Docker Scan (Docker Inc., v0.17.0)
    
    Server:
     Containers: 8
      Running: 0
      Paused: 0
      Stopped: 8
     Images: 30
     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 runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
     runc version: v1.1.1-0-g52de29d
     init version: de40ad0
     Security Options:
      seccomp
       Profile: default
     Kernel Version: 5.4.72-microsoft-standard-WSL2
     Operating System: Docker Desktop
     OSType: linux
     Architecture: x86_64
     CPUs: 12
     Total Memory: 12.27GiB
     Name: docker-desktop
     ID: JXP5:WVZE:XIDX:EVMT:4YL3:YMVE:R5ES:56QI:ABDC:32UV:Q3Y6:XOHI
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     HTTP Proxy: http.docker.internal:3128
     HTTPS Proxy: http.docker.internal:3128
     No Proxy: hubproxy.docker.internal
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      hubproxy.docker.internal:5000
      127.0.0.0/8
     Live Restore Enabled: false
    
    WARNING: No blkio throttle.read_bps_device support
    WARNING: No blkio throttle.write_bps_device support
    WARNING: No blkio throttle.read_iops_device support
    WARNING: No blkio throttle.write_iops_device support
    

    Additional environment details (AWS ECS, Azure ACI, local, etc.): Azure ACI

    opened by tarrnobi 1
  • ECS DependsOn Condition Support

    ECS DependsOn Condition Support

    I'm using the docker-compose depends_on functionality with conditions for Healthy & Complete tasks.

    Having read the Reference Documentation it appeared that there was full compatibility between ECS & Compose in this regard.

    Digging into the source code it appears that only ECS: STARTED mode is supported. Any depends_on in compose will resolve to this.

    Breezing through source code it looks like this might be relatively simple to implement. https://pkg.go.dev/github.com/compose-spec/compose-go/types

    STARTED type is set here: https://github.com/docker/compose-cli/blob/69eda1fbe17ef227e6cc520b06cf370731a5a59f/ecs/local/compose.go#L127

    Is this as simple as creating a mapping between ECS types and Compose Types?

    opened by SoundsSerious 0
Releases(v1.0.29)
Owner
Docker
Docker provides a simple and powerful developer experience, workflows and collaboration for creating applications.
Docker
Mutagen Compose is a modified version of Docker Compose that offers automated integration with Mutagen.

Mutagen Compose Mutagen Compose is a (minimally) modified version of Docker Compose that offers automated integration with Mutagen. This allows you to

Mutagen 62 Jul 30, 2022
provide api for cloud service like aliyun, aws, google cloud, tencent cloud, huawei cloud and so on

cloud-fitter 云适配 Communicate with public and private clouds conveniently by a set of apis. 用一套接口,便捷地访问各类公有云和私有云 对接计划 内部筹备中,后续开放,有需求欢迎联系。 开发者社区 开发者社区文档

null 23 May 8, 2022
Cloud-Z gathers information and perform benchmarks on cloud instances in multiple cloud providers.

Cloud-Z Cloud-Z gathers information and perform benchmarks on cloud instances in multiple cloud providers. Cloud type, instance id, and type CPU infor

CloudSnorkel 16 Jun 8, 2022
Example used to try a compose application with Docker Dev Environments

compose-dev-env Example used to try a Compose application with Docker Dev Environments. This example is based on the nginx-golang-mysql sample of awes

Docker Samples 74 Aug 6, 2022
Krateo Platformops: Run your Resources on Every Cloud

Krateo Platformops is an open source tool, based on CNCF projects such as Kubern

Krateo PlatformOps 104 Aug 2, 2022
Topology-tester - Application to easily test microservice topologies and distributed tracing including K8s and Istio

Topology Tester The Topology Tester app allows you to quickly build a dynamic mi

Bas van Beek 1 Jan 14, 2022
Docker-NodeJS - Creating a CI/CD Environment for Serverless Containers on Google Cloud Run

Creating a CI/CD Environment for Serverless Containers on Google Cloud Run Archi

David 1 Jan 8, 2022
Manage your ssh alias configs easily.

manssh manssh is a command line tool for managing your ssh alias config easily, inspired by storm project, powered by Go. Note: This project is actual

Wendell Sun 267 Jul 14, 2022
Managing your Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet

Clusternet Managing Your Clusters (including public, private, hybrid, edge, etc) as easily as Visiting the Internet. Clusternet (Cluster Internet) is

Clusternet 933 Aug 9, 2022
Easily deploy your Go applications with Dokku.

dokku-go-example Easily deploy your Go applications with Dokku. Features: Deploy on your own server Auto deployment HTTPS Check the full step by step

null 9 Jul 3, 2021
Sample multi docker compose environment setup

Instructions This is a demonstration of a Multi Docker Compose. The purpose of this repositoy is ongoing research on "Docker compose" architecture des

Damjan Dimitrioski 3 May 3, 2021
Hassle-free minimal CI/CD for git repositories with docker or docker-compose projects.

GIT-PIPE Hassle-free minimal CI/CD for git repos for docker-based projects. Features: zero configuration for repos by default automatic encrypted back

Aleksandr Baryshnikov 51 Oct 8, 2021
Mesos Framework to use docker-compose files.

mesos-compose Mesos Framework to use docker-compose files. Requirements Apache Mesos min 1.6.0 Mesos with SSL and Authentication is optional Redis Dat

AVENTER UG (haftungsbeschränkt) 1 Apr 27, 2022
GitHub Action: Compose multiple (conditional) checks into a single check based on file paths in a pull request

GitHub Action: Composite Example Usage --- name: All Checks on: pull_request: branches: - main jobs: meta: runs-on: - ubuntu-20.

Blend 16 Jul 19, 2022
Execute multiple shell commands like Docker-Compose

parx parx is a simple tool to run multiple commands in parallel while having the output structured like Docker Compose does that. This is useful when

Tobias B. 7 May 28, 2022
Docker-compose files for running full Storj network locally

docker-compose based Storj environment storj-up is a swiss-army tool to create / customize Storj clusters with the help of docker-compose (not just st

Storj 10 Jul 11, 2022
Tool to convert docker-compose files to set of simple docker commands

docker-decompose Tool to convert docker-compose files to set of simple docker commands. Install Use go get to install the latest version of the librar

Liri S 2 Apr 12, 2022
Bubbleboxer - compose bubbles into boxes

bubbleboxer ?? - compose bubbles into boxes ?? A way to compose multiple bubbles

null 24 Jul 9, 2022
Template Compose - Continues Delivery

Template Compose - Continues Delivery

Just_Me 0 Feb 4, 2022