热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker多种环境

如何解决《Docker多种环境》经验,为你挑选了1个好方法。

我正试着把头包裹在Docker身边,但是我很难搞清楚它.我试图在我的小项目(MERN堆栈)中实现它,我在想如何区分开发,(可能是升级)和生产环境.

我看到一个例子,他们使用了2个Docker文件和2个docker-compose文件,(每对一个env,所以Dockerfile + docker-compose.yml用于prod,Dockerfile-dev + docker-compose-dev.yml用于dev) .

但这对我来说似乎有些过分.我宁愿只用两个文件.

另外一个问题是,例如,对于开发,我想要全局安装nodemon,但不是为了生产.

在完美的解决方案中,我想象运行这样的东西

docker-compose -e ENV=dev build
docker-compose -e ENV=dev up

请记住,我仍然没有完全得到docker,所以如果你发现了一些关于docker的误解,你可以指出它们.



1> VonC..:

你可以采取一些线索,从" 在生产中使用撰写 "

您几乎肯定希望对更适合实时环境的应用配置进行更改.这些变化可能包括:

删除应用程序代码的任何卷绑定,以便代码保留在容器内,不能从外部更改

绑定到主机上的不同端口

以不同方式设置环境变量(例如,减少日志记录的详细程度,或启用电子邮件发送)

指定重启策略(例如,重启:始终)以避免停​​机

添加额外服务(例如,日志聚合器)

这个建议与你提到的例子不太相似:

因此,您可能希望定义一个额外的Compose文件,例如production.yml,它指定适合生产的配置.此配置文件只需要包含您要从原始Compose文件中进行的更改.

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

这种重写机制比尝试在一个compose文件中混合dev和prod逻辑更好,用环境变量来尝试选择一个.

注意:如果您为第二个dockerfile命名docker-compose.override.yml,则simple docker-compose up会自动读取覆盖.
但在您的情况下,基于环境的名称更清晰.


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 在Docker中,构建一个自定义镜像共有两种方法,一是通过commit指令构建,二是通过Dockerfile文件构建。第一种方式在上篇博客中已经详细介绍(Docker入门实战(二)—— ... [详细]
  • 我是docker的新手,正在学习 ... [详细]
  • HelloDocker官方安装教程:https:docs.docker.cominstalllinuxdocker-ceubuntu进去选好对应系统发行版,照着命令复制-粘贴-运行 ... [详细]
  • 注:该文作者jpetazzo,该文章的原文为MultipleDockercontainersloggingtoasinglesyslog这里有一个简单方法展示了怎样在一个容器中运行 ... [详细]
  • 是否可以使用环境变量在Dockerfile中设置容器版本? 例如:   .env ... [详细]
  • 如何解决《无法启动docker容器》经验,为你挑选了1个好方法。 ... [详细]
  • 如何解决《Docker将warfile添加到官方Tomcat映像》经验,为你挑选了2个好方法。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了自动化测试专家Elfriede Dustin在2008年的文章中讨论了自动化测试项目失败的原因。同时,引用了IDT在2007年进行的一次软件自动化测试的研究调查结果,调查显示很多公司认为自动化测试很有用,但很少有公司成功实施。调查结果表明,缺乏资源是导致自动化测试失败的主要原因,其中37%的人认为缺乏时间。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • DockerfileDocker是软件工业上的集装箱技术。通过以下文件制作Docker镜像[root@Optimusdocker-training]#cdcentos7[root@ ... [详细]
author-avatar
惜靜吾_919
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有