栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Docker撰写如何将路径从一个容器装载到另一个容器?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker撰写如何将路径从一个容器装载到另一个容器?

您要做的就是使用一个卷,然后将该卷安装到您希望其出现的任何容器中。

完全在Docker中

您可以完全在Docker内部完成此操作。

这是一个示例(精简-您的实际文件中将包含更多内容)。

version: '3'services:  nginx:    volumes:      - asset-volume:/var/lib/assets  asset:    volumes:      - asset-volume:/var/lib/assetsvolumes:  asset-volume:

底部是定义的单个体积,称为“资产体积”。

然后在每个服务中,您都告诉Docker在某个路径上安装该卷。我显示了容器内部的示例路径,只需将其调整为您希望它们在容器中的任何路径即可。

该卷是一个不受任何特定容器拥有的独立实体。它只是安装在它们每个中,并被共享。如果一个容器修改了内容,那么他​​们都将看到更改。

请注意,如果您只希望可以进行更改,则可以通过

:ro
在卷字符串的末尾添加,在某些服务中始终将卷挂载为只读。

services:  servicename:    volumes:      - asset-volume:/var/lib/assets:ro

使用主机目录

或者,您可以使用主机上的目录并将其安装到容器中。这样做的好处是,您可以使用Docker外部的工具(例如GUI文本编辑器和其他工具)直接在文件上工作。

相同,只是您没有在Docker中定义卷,而是挂载了外部目录。

version: '3'services:  nginx:    volumes:      - ./assets:/var/lib/assets  asset:    volumes:      - ./assets:/var/lib/assets

在此示例中,使用相对路径将本地目录“资产”安装到两个容器中

./assets

根据环境使用两者

您还可以将其设置为其他开发和生产环境。将所有内容放入docker-compose.yml中, 除了 卷挂载。然后再制作两个文件。

  • docker-compose.dev.yml
  • docker-compose.prod.yml

在这些文件中,仅放置最小配置即可定义卷安装。我们将其与docker-compose.yml混合使用以获得最终配置。

然后用这个。它将使用docker-compose.yml中的配置,并将第二个文件中的任何内容用作替代或补充配置。

docker-compose -f docker-compose.yml     -f docker-compose.dev.yml     up -d

对于生产,只需使用prod文件而不是dev文件即可。

这里的想法是将大多数配置保留在docker-compose.yml中,并且将替代文件中的差异最小化。

例:

docker-compose.prod.yml

version: '3'services:  nginx:    volumes:      - asset-volume:/var/lib/assets

docker-compose.dev.yml

version: '3'services:  nginx:    volumes:      - ./assets:/var/lib/assets


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370315.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号