Docker-在Docker compose中的容器之间共享卷

Docker-在Docker compose中的容器之间共享卷,docker,docker-compose,Docker,Docker Compose,我有两个docker compose创建的docker服务。后端是python,web是php和apache。我的.yaml文件如下所示: services: web: build: ./php container_name: php_web volumes: - ./php/:/var/www/html/ ports: - "8100:80" stdin_open: true tty: true

我有两个docker compose创建的docker服务。后端是python,web是php和apache。我的.yaml文件如下所示:

services:

  web:
    build: ./php
    container_name: php_web
    volumes:
      - ./php/:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true
    
  python:
    build: ./python
    volumes:
      - ./product:/user/src/app
    ports:
      - "5000:5000"
services:

  web:
    build: ./php
    container_name: php_web
    volumes:
      - php-volume:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true

  python:
    build: ./python
    volumes:
      - ./product:/user/src/app
    ports:
      - "5000:5000"

volumes:
  php-volume:
我希望能够从python文件系统访问web容器文件系统,反之亦然,这样他们就可以共享文件


使用docker compose有一种简单的方法吗?

在docker中创建一个卷:

docker volume create php-volume
然后,在docker compose文件的顶层声明,如下所示:

services:

  web:
    build: ./php
    container_name: php_web
    volumes:
      - ./php/:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true
    
  python:
    build: ./python
    volumes:
      - ./product:/user/src/app
    ports:
      - "5000:5000"
services:

  web:
    build: ./php
    container_name: php_web
    volumes:
      - php-volume:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true

  python:
    build: ./python
    volumes:
      - ./product:/user/src/app
    ports:
      - "5000:5000"

volumes:
  php-volume:

在docker中创建卷:

docker volume create php-volume
然后,在docker compose文件的顶层声明,如下所示:

services:

  web:
    build: ./php
    container_name: php_web
    volumes:
      - ./php/:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true
    
  python:
    build: ./python
    volumes:
      - ./product:/user/src/app
    ports:
      - "5000:5000"
services:

  web:
    build: ./php
    container_name: php_web
    volumes:
      - php-volume:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true

  python:
    build: ./python
    volumes:
      - ./product:/user/src/app
    ports:
      - "5000:5000"

volumes:
  php-volume:

我已经阅读了文档,但不知道如何创建两个容器都可以访问的卷。但是,如果要跨多个服务重用卷,请在顶级卷键中定义命名卷。我已经阅读了文档,但不知道如何创建两个容器都可以访问的卷,但是,如果要跨多个服务重用卷,请在顶级卷键中定义命名卷。