如何在 docker compose 中定义通用挂载点

贝尔图斯

我想定义一个通用挂载卷 - 以及我想让它关联的所有选项 - 可以在多个服务中重用。事实上,我正在开发一个项目,该项目对多个微服务使用相同的源。这样,卷将更易于管理和修改。

首先,我使用了利用了volumes_from以下优点的旧方法

shared:
  image: phusion/baseimage 
  volumes:
    - ./code:/var/www/html

nginx:
  build: docker/nginx
  ports:
    - "8080:80"
  links:
    - php
  volumes_from:
    - shared

这有效,但我必须定义一个shared服务才能使其工作。从 3.0 版本开始,volumes可以使用,所以我想定义一个通用卷并将其用于我的nginx服务,但我没有找到正确的语法:

version: '3.3'

volumes:
  vol_test:
    type: bind
    source: ./code
    target: /var/www/html
    volume:
      nocopy: true

services:
  nginx:
    build: docker/nginx
    ports:
      - "8080:80"
    volumes:
      - vol_test

更新

我发现以我想要的方式定义卷是不可能的,因为以下定义:

volumes:
  data-volume:
    type: bind
    source: ./code
    target: /var/www/html
    volume:
      nocopy: true

调用时将产生此输出docker-compose up

ERROR: The Compose file './docker-compose.yml' is invalid because:
volumes.data-volume value Additional properties are not allowed ('volume', 'source', 'type', 'target' were unexpected)

我想我还是得用那个volumes_from方式。有人可以证实吗?

格塞利克斯

我可以确认您的观察:如果要挂载主机目录,则必须使用绑定挂载语法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Docker Compose中运行一次命令

如何在Docker Compose中将主机目录挂载为卷

如何在docker-compose中设置主机名?

如何在docker-compose中传递参数?

如何在docker-compose.yml中定义docker镜像名称?

如何在第2版docker-compose定义文件中定义网络?

如何在docker-compose中更改Docker堆栈生成的服务名称

如何在docker-compose中更改默认的Elasticsearch密码?

如何在gitlab-runner容器中运行的docker中的docker中运行docker-compose?

如何在docker-compose.yml中运行wp cli

如何在Windows / VirtualBox设置上将./project_dir作为卷挂载在docker-compose中

如何在Windows 10中“制作” OpenWhisk Docker Compose?

如何在由docker compose启动的系统中更新容器

如何在Docker Compose中设置uid和gid?

如何在docker-compose中设置环境变量

如何在Docker Compose中创建Docker卷

如何在docker-compose中配置网络?

如何在Docker Compose中等待MSSQL?

如何在Dokku中使用Docker Compose?

如何在带有docker-compose服务器的Docker中运行MySQL命令终端

如何在Docker Compose中声明Docker卷存在于外部hardrive中

如何在docker compose中运行mongodb副本集

如何在Azure Portal中传递Dockerfile或docker-compose?

如何在docker compose中放置参数?

如何在docker-compose中缓存构建环境

如何在 docker-compose 中访问链接服务?

docker 在 docker 中 docker compose

如何在 docker-compose 中转义 #

如何从 docker-compose 文件中`--scale`