If I have

version: "3.8"

services: 
  example1:
    image: example.com/example1:latest
  ports: 8000:80
volumes: 
  - shared_example:/data
services: 
  example2:
    image: example.com/example2:latest
  ports: 8080:80
volumes: 
  - shared_example:/data

volumes:
  shared_example: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"

Will that slow things down or is the proper solution to have

volumes:
  shared_example1: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"
  shared_example2: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"

Or even

volumes:
  shared_example1:
  shared_example2: 
    driver_opts: 
    type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"
  • rglullisA
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    6 months ago

    I don’t know if you had any issue with the formatting, but your first example is not going to work because you are putting the volumes mapping at the top-level. The correct would be:

    version: "3.8"
    
    services: 
      example1:
        image: example.com/example1:latest
        ports: "8000:80"
        volumes: 
          - shared_example:/data
    
      example2:
        image: example.com/example2:latest
        ports: "8080:80"
        volumes: 
          - shared_example:/data
    
    volumes:
      shared_example: 
        driver_opts: 
          type: nfs
          o: "192.100.1.100, nolock,soft,rw"
          device: ":/local/shared"