- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个现有的应用程序,其中包含在同一主机上运行的 4 个 docker 容器。它们已使用 link
命令链接在一起。
然而,在 docker 升级后,link
行为已被弃用,并且似乎有所改变。我们现在遇到了容器失去彼此链接的问题。
所以,docker 说要在 link
ed 容器上使用新的 Network
功能。但我看不出这是如何工作的。
如果 2 个容器在同一个网络中,相同的 ENV
变量是否会自动暴露在容器上,就好像它们是链接的一样?
或者是否使用正确的容器名称/IP 地址更新了主机文件?即使在 docker restart
之后?
我在文档中看不到容器如何在其网络中找到另一个容器的位置?
另外,compose
看起来有一个用于链接容器的简单设置,并且可能会自动执行其中的一些操作 - 组合是定义多容器应用程序的方式吗?还是在生产中运行它还为时过早?
compose
是否也支持多主机配置?
在未来的某个时候,我们可能需要将其中一个容器移动到不同的主机......
最佳答案
If 2 containers are in the same network, are the same ENV vars automatically exposed on the containers as if they were linked?
不,您现在必须使用容器名称作为它们的主机名。新的网络功能不知道将使用哪些端口。将其视为插入同一网络集线器的 2 台计算机。两者都可以通过主机名来寻址另一个。
is the hosts file updated with the correct container name / ip addresses ? Even after a docker restart ?
是的,作为网络一部分的所有容器的 /etc/hosts
文件将由 docker 引擎实时更新。
I can't see in the docs how a container can find the location of another in its network?
使用容器名称。见 Connect containers Work with network commands 文档的部分:一旦连接,容器就可以使用另一个容器的 IP 地址或名称进行通信。
Also, compose looks to have a simple set up for linking containers, and may automate some of this - would compose be the way to go for defining multi container apps? Or is it too soon to run it in production?
Compose 通过提供 --x-networking
选项来支持新的网络功能作为测试版。您不应该在生产中使用它(当前 Compose 版本是 1.5)。
此外,当前的实现有点不方便,因为我们必须使用由 项目名称 + _
+ 容器名称组成的完整容器名称 + _1
。 documentation说下一个版本(当前版本是 1.5)会改进这一点,这样我们就不必担心 项目名称 来寻址容器。
Does compose support multiple host configuration as well?
是的,与 overlay network documentation 中详述的 Swarm 结合使用
关于Docker 链接容器、Docker 网络、Compose 网络 - 我们现在应该如何 'link' 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34727352/
我似乎无法让它发挥作用。我已经尝试过在线样本,但没有一个正是我需要的。基本上我希望能够显示从给定日期过去的天数。我下面的示例是 HTML 和 PHP 的组合,出于某些原因我不得不这样做。 Date
Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
在此处搜索“线程关联”的答案,我发现人们对此很感兴趣,但没有什么理由可以节省可能获得稳定的 QueryPerformanceTimer 结果。 假设一个现代操作系统和一个现代 2-4 插槽工作站/服务
我有一个称为main-app的聚合物元素:
我有一个表,我想在每个插入时间记录每个订单的时间戳。但是,我得到的时间戳值为零。 这是我的架构: CREATE TABLE IF NOT EXISTS orders( orde
我正在使用 MongoDB Atlas 来托管数据库并使用这个无服务器函数查询数据: import { NextApiRequest, NextApiResponse } from "next"; /
苹果卸下了转义键,并用OLED触摸条替换了它。这对emacs用户具有影响,特别是对于具有数十年肌肉内存力才能克服此变化的UNIX/emacs用户而言。幸运的是,触摸栏逃生键似乎总是在您需要的时候出现,
抱歉,我对 DbGrids 还很陌生。 我是否应该使用查询的字段编辑器并以某种方式添加一个捕获 TIMEDIFF 的新字段,然后将其添加为我的 DbGrid 中的列? 或者我可以/应该跳过字段编辑器并
正如一本相当古老的书XUnit Patterns所写,NUnit 2.0不会为每个测试创建新的测试夹具,因此,如果测试正在操纵夹具的某种状态,则该夹具会被共享并且可能导致各种不良副作用。 还是一样吗?
我知道自2016年4月以来,Youtube API的默认配额限制为1M。 如果要增加它,我们需要向Google 发送请求。 我想知道我们可以要求的配额限制的最大值是多少? 最佳答案 根据Google开
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
{ "size": 0, "query": { "range": { "LogTime": { "gte": "now-1d",
当我尝试从终端编译这个简单的代码时: #include int main(void) { printf("%f\n",sqrt(10)); return 0; } 使用 gcc mai
我正在尝试筛选抓取一个 html 页面,以便我可以从中提取所需的有值(value)的数据并将其放入文本文件中。到目前为止,一切进展顺利,直到我在 html 页面中遇到了这个: In inventor
这是我的 结果 MySQL 表的示例: 我想将特定用户的所有日期向前移动相同的时间间隔,以便该用户的最高日期是当前时间戳。我知道如何获取以天为单位的间隔: /* result is 823 */ SE
我有一个函数需要从主视图中的几个不同位置调用。我们称它为 updateFunction。 我这样声明: - (void)updateFunction { //updates some vari
我正在尝试找出如何以某种方式嵌套回调。 var alpha = function(callback){ var x = 5; if(x > 2){ callback()
为什么我收到RangeError:超出最大调用堆栈错误?我正在尝试解析文本以找到数学并解决它。它一直有效,直到我开始实现括号'。我试图找出错误,但就是无法弄清楚。 我的代码: var alg = {
我记得几年前,没有使用 SSL 的原因之一是它占用了大量资源,因此影响了应用程序的性能。 如今,以当前的技术,这仍然是一个需要牢记的点吗? 这个问题的出现是因为一位同事担心使用 SSL 会影响他的应用
我正在将我的数据库从 sqlserver 迁移到 mysql当我在 sqlserver 中使用 getDate() 函数时,mysql 中的替换是 Now()但是 Now() 没有返回 getDate
我是一名优秀的程序员,十分优秀!