我的脚本执行以下操作
然后它在最后一个打印语句后等待10分钟以上并退出.最后的等待不会每次都发生.在wait top命令期间显示相同的92%内存使用量但没有cpu使用率.为什么它有时会在完成后等待?如果我击中CtrlC,它立即退出而结果没有任何变化(结果).我如何调试这个或者它是预期的行为,因为哈希是巨大的?
编辑
通过从哈希中删除不需要的键值对,可以动态回收一些内存吗?
我们正在尝试在 docker-compose 设置中针对相当复杂的应用程序堆栈运行测试套件。到目前为止,一切都很顺利。但是,我们希望确保我们不会丢失任何外部依赖项或意外地插入任何我们不应该插入的内容(例如生产系统)。
这似乎internal是网络选项的基本用途。
在组合网络上使用时internal: true,容器无法按预期访问任何外部主机。到目前为止,一切都很好。问题在于,尝试解析组合网络内不存在的主机名需要很长时间才能超时。调用gethostbyname()可能需要长达 40 秒的时间才会失败,这会以各种方式破坏应用程序堆栈。
我希望能够在网络中配置 DNS 设置,以便简单地为我提供NXDOMAIN不是网络中容器的任何名称的即时信息,但到目前为止,我还没有发现任何迹象表明这是可能的。这似乎是一个明显的用例,我很难相信我是第一个遇到这个问题的人......
我在谷歌上到处搜索,并浏览了我能找到的所有文档,但到目前为止,没有运气。
给定一个docker-compose.yml:
version: '3'
networks:
default:
internal: true
services:
foo:
image: debian:latest
command: /bin/sleep 1000000000
bar:
build:
context: ./bar
command: /bin/true
Run Code Online (Sandbox Code Playgroud)
和bar/Dockerfile:
FROM debian:latest
RUN apt-get update && apt-get install -y dnsutils bind9-host netcat-openbsd
Run Code Online (Sandbox Code Playgroud)
然后:
$ docker-compose up -d
Creating network "foo_default" with the default driver
Creating foo_bar_1 ... done
Creating foo_foo_1 …Run Code Online (Sandbox Code Playgroud)