首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过码头组合在集装箱间共享体积

如何通过码头组合在集装箱间共享体积
EN

Stack Overflow用户
提问于 2017-11-06 12:10:19
回答 2查看 11.6K关注 0票数 5

我的船坞-组合定义了两个容器。我希望一个容器与另一个容器共享一个卷。

代码语言:javascript
复制
version: '3'
services:
  web-server:
    env_file: .env
    container_name: web-server
    image: web-server
    build: 
      dockerfile: docker/Dockerfile
    ports: 
      - 3000:3000
      - 3500:3500
    volumes:
      - static-content: /workspace/static
    command: sh /workspace/start.sh

  backend-server:
    volumes:
      - static-content: /workspace/static
  volumes:
    static-content:

上面的文件声明了两个服务,web服务器和后端服务器。我在“服务”下声明了命名的卷static-content。运行docker-composer -f docker-composer.yml up时出现以下错误

代码语言:javascript
复制
services.web-server.volumes contains an invalid type, it should be a string
services.backend-server.volumes contains an invalid type, it should be a string

那么,我如何分享卷抛码头-作曲家?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-06 12:38:41

您需要使用没有空格的docker卷语法。

代码语言:javascript
复制
<local_path>:<service_path>:<optional_rw_attributes>

例如:

代码语言:javascript
复制
./:/your_path/

将当前工作目录映射到/your_path。

这个例子是:

代码语言:javascript
复制
./:/your_path/:ro

将当前工作目录映射到具有只读权限的/your_path。

阅读这些文档以获得更多信息:https://docs.docker.com/compose/compose-file/#volume-configuration-reference

票数 2
EN

Stack Overflow用户

发布于 2017-11-06 14:30:52

卷字符串中有一个额外的空间,这将导致Yaml将解析从字符串数组更改为名称/值映射数组。删除卷条目中的空格(请参见下面),以防止此错误:

代码语言:javascript
复制
version: '3'
services:
  web-server:
    env_file: .env
    container_name: web-server
    image: web-server
    build: 
      dockerfile: docker/Dockerfile
    ports: 
      - 3000:3000
      - 3500:3500
    volumes:
      - static-content:/workspace/static
    command: sh /workspace/start.sh

  backend-server:
    volumes:
      - static-content:/workspace/static
  volumes:
    static-content:

有关更多细节,请参见撰写卷短语法的文件部分

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47136748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档