首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker撰写打包或捆绑资产容器的最佳实践?

Docker撰写打包或捆绑资产容器的最佳实践?
EN

Stack Overflow用户
提问于 2017-04-24 14:35:37
回答 2查看 1.4K关注 0票数 0

我对如何实现以下流程感到非常困惑

我有两个容器nginx和containers (将只有捆绑的资源)

因此可以有2-3个nginx实例和很少的资产实例。

因此,在我本地计算机或构建服务器上,我将使用grunt构建资产,捆绑的资产将位于映像中。

因此,如果我对捆绑的资源使用卷,它将如何沿着图像推送。

或者,如果我没有使用卷,那么nginx将如何从资产映像或(停止或运行)容器中获取挂载路径。

EN

回答 2

Stack Overflow用户

发布于 2017-04-24 19:41:25

主要有两种方法。

  1. 你将你的资源添加到你的nginx图像中。在这种情况下,您只需创建一个Dockerfile,并将您的本地资源COPY到nginx镜像上的一个位置。例如:

来自: nginx COPY: myassets/dir/* /var/lib/html

这是最简单的方法。

  • 装载卷

如果您需要在容器之间共享相同的资源,那么您可以创建一个卷,并将此卷挂载到您的nginx容器中。在您尝试创建nginx容器之前,需要创建卷。

docker卷创建myassets

下一步是将文件复制到新创建的卷中。如果您的docker主机是本地的(例如: VirtualBox、Docker for Mac or Windows、Vmware Fusion、Parallel),则可以挂载包含资产的本地目录,并将其复制到卷中。例如:

docker run --rm -v /Users/myname/html:/html -v myassets:/temp -v sh -c "cp -rp /html/* /temp“

如果您的扩展底座主机托管在其他地方(AWS、Azure、远程服务器等)那么你就不能依赖挂载的本地驱动器了。您需要远程复制这些文件。

docker run -d --名称foo -v myassets:/temp高山尾部-f /dev/null docker cp myassets/* foo:/temp docker rm -f foo

这将创建一个名为foo的容器,该容器在后台-d中保持运行(尾部-f)。然后,我们将文件复制到装载myassets卷的位置,然后在完成后杀死容器。

当您在nginx容器上挂载卷时,它将覆盖该容器所在位置的所有内容。

docker运行-d -v myassets:/var/lib/html nginx

票数 0
EN

Stack Overflow用户

发布于 2017-04-25 00:35:21

您可以使用docker-compose为每个应用创建多容器docker环境,其中构建了多个资源docker镜像,这些镜像被挂载为nginx容器的数据卷。

参考docker-compose reference了解数据卷挂载,参考stackoverflow question了解从一个容器到另一个容器的挂载目录。

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

https://stackoverflow.com/questions/43581299

复制
相关文章

相似问题

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