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插件