Skip to content

Docker Compose 1.17 fixed volumes override 🕊 #507

@michaelbaudino

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions