NotSoShabby
NotSoShabby

Reputation: 3678

Docker compose-Mount volume on a few containers AND the host

Im trying to share data between a few containers and the host using docker-compose. I have a docker-compose.yml file that looks like this:

version: '3'
services:
  base:
    container_name: base
    build: 
      context: .
      dockerfile: BaseDockerfile
    volumes:
      - dependencies:/volumes/dependencies
  romee:
    container_name: romee
    build: 
      context: .
      dockerfile: RomeeDockerfile
    environment:
      - PYTHONPATH=/volumes/base_dependencies/
    volumes:
      - dependencies:/volumes/base_dependencies   

volumes:
    dependencies:

Now the volume "dependencies" is shared successfully between the containers, but I want to also share it with the host. How can I do that?

Upvotes: 1

Views: 470

Answers (1)

Siyu
Siyu

Reputation: 12079

The question is equivalent to how to specify a path of a named volume:

Solution:

volumes:
  dependencies:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/abs/path/to/dependencies'

EDIT

The complete flow would be like,

Image: Dependency generator, at build time (docker build), generate dependency to /temp, then at run time (docker run / docker-compose up), cp -pr /temp /dependencies, after that it can exit 0.

Upvotes: 1

Related Questions