Skip to content

Docker Compose 1.17 fixed volumes override 馃晩#507

Description

@michaelbaudino

I would like to notify everyone here that Docker Compose just fixed a bug where we could not override volumes with different modes. The fixed was released as part of version 1.17.

It's particularly useful to us (DockerSync users) because it will let us properly use the default (DockerSync-free) configuration in docker-compose.yml:

services:
  your_app:
    volumes:
      - .:/app

And just put the DockerSync-specific stuff in another Docker Compose file (e.g. docker-compose.override.yml because it's automatically used when it exists):

volumes:
  - your_app-sync: { external: true }

services:
  your_app:
    volumes:
      - your_app-sync:/app:nocopy

To be explicit: this configuration was failing prior to the above bugfix because of the :nocopy mode which was preventing a proper override.

It means that DockerSync users can have their DockerSync configuration isolated (e.g. in afile ignored by git), and thus stop messing with the project configuration that could have been used by non-DockerSync users too.

DockerSync and not-DockerSync users shall now leave at peace again 鉂わ笍 馃晩 (even when working on the same project 馃檹).

PS : should we document this somewhere? It looks to me that it should be a best practice (and probably even the default way to configure DockerSync).

PS2: TL;DR DockerCompose upgrade command (for MacOS, at least):

curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions