首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确设置数据卷容器?

如何正确设置数据卷容器?
EN

Stack Overflow用户
提问于 2016-09-21 15:33:36
回答 1查看 106关注 0票数 0

我想设置一个数据卷容器来与另一个LAMP容器一起工作,但是我开始使用Docker,所以我有一些疑问。

因此,我将运行两个容器,让我们将其命名为(正如一个例子):

  • 灯箱
  • 数据容器

我知道一次运行多个容器的唯一方法是使用Docker,但我不知道如何设置compose.yml文件。

假设lamp-container有以下目录来存储数据:

代码语言:javascript
运行
复制
/data/www # meant to contain web content
/data/www/default # root directory for the default vhost
/data/logs/ # Nginx, PHP logs
/data/tmp/php/ # PHP temp directories

我希望将它们分别映射到/home/<username>/container_files下主机上的本地目录(这是正在运行docker的主机上的本地目录)。例如:

代码语言:javascript
运行
复制
/data/www => /home/<username>/container_files/data/www
/data/www/default => /home/<username>/container_files/data/www/default
/data/logs/ => /home/<username>/container_files/data/logs
/data/tmp/php/ => /home/<username>/container_files/data/php

通过一个compose.yml示例文件,我能指出正确的方向吗?我读过文档,但我很困惑,因为我通常使用VM,并且在许多方面与容器不同。

注意:我应该补充一点,这是一个主机中的一个用户,而不是一个主机中的多个用户。因此,每个想要使用这个设置的人都应该在其主机下拥有自己的安装程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 16:09:18

随着命名卷的引入,数据容器卷已不再受欢迎。命名卷与数据容器具有相同的优点,但它们是单独管理的,可以让您更容易地将卷管理为数据而不是伪容器。

下面是一个用于挂载两个命名卷和另一个网络的docker-compose.yml的示例,您可能会删除大多数不适用于您自己的场景的行:

代码语言:javascript
运行
复制
version: '2'

volumes:
  vol-name-1:
    driver: local
  vol-name-2:
    driver: local

networks:
  internal1:
    driver: bridge

services:
  service-1:
    build: .
    image: my-service:latest
    volumes:
      - ./auth:/my-app/auth:ro
      - ./host-conf:/my-app/conf
      - vol-name-1:/my-app/data-1
      - vol-name-2:/my-app/data-2
    networks:
      - default
      - internal1
    ports:
      - "8080:80"
    entrypoint: "my-start.sh"

在上面的示例中,它还挂载了两个主机卷(绑定挂载),并展示了如何使用:ro在auth卷上挂载只读卷。

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

https://stackoverflow.com/questions/39620863

复制
相关文章

相似问题

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