docker-compose volumes_from等同于版本3

我试图用docker撰写一个Nginx / PHP FPM安装程序,并且遇到版本3卷的语法/变化问题。

我的Dockerfile

 FROM php:7-fpm VOLUME /var/www/html 

docker-compose.yml

 version: "3" services: php: build: . volumes: - ./html:/var/www/html web: image: nginx links: - php ports: - "8888:80" volumes: - php:/var/www/html - ./default.conf:/etc/nginx/conf.d/default.conf volumes: php: 

当我将一个index.php文件添加到./html ,我可以查看http:// localhost:8888 ,但是任何静态文件(如CSS)都会返回404,因为Nginx无法在其容器中find这些文件( /var/www/html在nginx容器中是空的)。 随着版本3泊坞窗撰写文件不再有volumes_from ,这基本上是我试图复制。

我怎样才能得到这个版本3?

要使用“命名卷”在容器之间共享文件,您需要定义

1)volume:位于yml文件顶层的部分,并定义卷名称

 volumes: php: 

2)像第一个容器一样在第一个容器上定义volume部分(分享将在哪里安装)

 web: volumes: - php:/var/www/html #<container_name>:<mount_point> 

3)定义第二个容器上的volume部分(Share将从中安装)

 php: volumes: - php:/var/www/html 

4) (可选)如果你需要在主机上存储卷数据,你可以使用local-persist docker插件。 您可以指定泊坞窗卷驱动程序和数据将被存储的path。

 volumes: php: driver: local-persist driver_opts: mountpoint: /path/on/host/machine/ 

在你的情况下,你忘了定义php容器的卷名称。 只要更换

  php: build: . volumes: - ./html:/var/www/html 

  php: build: . volumes: - php:/var/www/html 

并使用本地持久性Docker插件