运行 OSX 10.11.6(出于与其他一些不兼容更高版本的软件的兼容性原因,因此升级 OSX 不是解决方案)以及与 10.11.6 兼容的 Docker 最高版本,即 17.12.0-ce -mac55 (23011)。
在继续之前,我应该说我对网络、子网、网络掩码、网关等知识不太了解......
从我的任何容器内部,我无法访问本地网络上的任何主机(除了主机)。我的网络配置在主机上如下所示:
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:b6:69:51:f3
inet6 fe80::250:b6ff:fe69:51f3%en4 prefixlen 64 scopeid 0x4
inet 172.25.18.19 netmask 0xfffffe00 broadcast 172.25.19.255
nd6 options=1<PERFORMNUD>
media: autoselect (1000baseT <full-duplex>)
status: active
Run Code Online (Sandbox Code Playgroud)
在容器中像这样:
eth0 Link encap:Ethernet HWaddr 02:42:C0:A8:10:04
inet addr:192.168.16.4 Bcast:192.168.31.255 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1683 (1.6 KiB) TX bytes:2551 (2.4 KiB)
Run Code Online (Sandbox Code Playgroud)
例如,我可以从主机远程登录到 172.25.33.51 …
我试图在构建时导入 YAML 文件的内容,并以某种方式使解析的内容可供我的应用程序使用。
这是一个 Webpack 项目,我的任务是为其构建新功能。该项目使用的是Vue。我对 Webpack 的经验几乎为零。我已经安装了该js-yaml-loader包,并使用它配置了 Webpack,如下所示:
module: {
rules: [
...,
{
test: /\.ya?ml$/,
include: path.resolve(process.cwd(), 'src/data'),
loader: 'js-yaml-loader'
},
...
]
}
Run Code Online (Sandbox Code Playgroud)
据我了解,这将在构建时遍历src/dataYAML 文件的文件夹,并使用js-yaml-loader加载器加载它们,然后加载器会以某种方式将这些文件的解析内容包含在某处。但是当我搜索生成的输出时,YAML 中包含的键/值找不到。
我的做法正确吗?或者我有什么误解?
我在 Azure Function 中使用版本 5.2.0 的 Microsoft.Azure.WebJobs.Extensions.ServiceBus 包。根据此处的文档,新版本支持失败操作的自动重试。这是我的 host.json:
{
"version": "2.0",
"extensions": {
"serviceBus": {
"clientRetryOptions": {
"mode": "Exponential",
"tryTimeout": "00:02:00",
"delay": "00:00:02.00",
"maxDelay": "00:30:00",
"maxRetries": 10
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
除了时间值之外,它与文档中的完全相同。在我的由 a 触发的函数中,ServiceBusTrigger我在某些情况下抛出异常。我希望消息被延迟,如文档中所述。但它被放回到队列的头部并立即重试,没有任何延迟。我花了 2 个工作日来处理这个问题,混杂了各种版本、不正确的文档和我在网上找到的示例,我尝试了各种排列方式,但我就是无法让它发挥作用。
我再也见不到树木了。谁能看到我做错了什么吗?
我处于一种我无法看到正确使用方法的情况.我有多个服务器分配了不同的角色,分布在几个组中.与生产/暂存环境相比,我在本地Vagrant环境中遇到了group_vars的一些困难.在生产中,有更多的服务器,分配更少的组.在我的Vagrant环境中,我拥有的机器较少,每个机器分配了更多的角色/组.我有一台机器,特别是一组组的成员,每组都有自己的变量"tcp_ports",它列出了我的iptables角色应该为该组成员的服务器打开的端口.当然,问题是Ansible不会自动将此变量合并到所有group_vars中.
到目前为止,我的解决方案是重命名变量tcp_ports_<group name>,然后,在我的iptables角色中,我有以下任务:
- name: Combine tcp_ports_<group> into tcp_ports
set_fact:
tcp_ports: "{{ tcp_ports|default([])|union(hostvars[inventory_hostname]['tcp_ports_' + item]|default([])) }}"
with_items: "{{ group_names }}"
Run Code Online (Sandbox Code Playgroud)
...汇总当前机器所属的所有组的tcp_vars_<group>组变量tcp_ports.这有效......但感觉很脏.我知道在ansible.cfg中启用合并模式,但这个项目是巨大的,我不想对Ansible的操作进行如此根本的改变,因为耗时的测试阶段确保事情不会中断.我也读到了"摆弄group_vars意味着你做错了"的口头禅,我相信我是......我只是不知道如何在这种情况下正确行事.
那里的任何人都以更合适的方式解决了这个问题?