是否可以仅使用 docker-compose 在同一台主机上安装多个 nginx 容器,每个容器共享端口 80?
我想整理一个在同一主机上运行多个应用程序的系统。每个应用程序由多个链接的 docker 容器组成,这些容器通过 docker-compose 文件绑定在一起,每个应用程序都使用主机系统的 nginx 作为反向代理向世界公开。到现在为止还挺好。
每次添加新的 docker 应用程序时,我都必须为该应用程序添加一个新的 nginx.conf 文件到主机 nginx,但我更喜欢将 nginx 配置与应用程序的 docker-compose 文件捆绑在一起作为 nginx 容器,因此让每个应用程序在容器中干净地维护它需要的一切。但是每个nginx容器都需要监听80端口,所以只能绑定第一个。主机 nginx 可以在端口 80 上侦听多个 web 应用程序,但是多个 nginx 实例可以做同样的事情吗?
更新 :
所以这似乎不是绝对可能的。目标是将尽可能多的特定于应用程序的 nginx 配置与应用程序捆绑在一起,因此我正在尝试一种解决方案,其中应用程序仍然使用该逻辑启动自己的 nginx 容器,而主机 nginx 仅处理到应用程序 nginx 的 url 路由. 不确定性能,但这大大减少了应用程序与主机的纠缠。
显然 mix-blend-mode 不能很好地与transform: translate()和配合使用z-index。将其中任何一个应用到某些文本元素将立即取消混合混合模式效果。
问题
我知道我可以使用 JavaScript 来模仿该transform: translate()功能,但这并不是很理想。
我正在使用一个返回带有不规则对象数组的结构的JSON提要 - 我无法预测数组中的内容,并且随着时间的推移它会发生什么变化.一个简单的例子是
{
"content":
[
{
"person" : "john"
},
{
"car" : "Audi"
}
]
}
Run Code Online (Sandbox Code Playgroud)
JsonPath查询
$.content.[0]
Run Code Online (Sandbox Code Playgroud)
返回该数组中的第一个对象.但是,我需要一个jsonpath查询返回该对象的第一个属性的文字NAME,在这种情况下我需要查询返回"person".这可能吗?
有没有一种简单的方法可以模拟git服务器/仓库以进行单元测试?我不想测试git本身,而是要测试我的代码如何与git交互。
我想做类似的事情
create git@localhost.com:myRepo.git c:/somepath
copy somefile.txt c:/somepath
Run Code Online (Sandbox Code Playgroud)
然后当我
git clone git@localhost.com:myRepo.git
Run Code Online (Sandbox Code Playgroud)
返回c:/ somepath(somefile.txt)的全部内容,无需身份验证。我想测试我的代码如何处理克隆,因此对此git repo的所有调用都应自动通过身份验证。
我查看了git守护程序,但它在真实的git上运行,因此最终我的测试代码必须执行大量回购内容管理(添加,提交,分支等),这似乎是不必要的。
如果我在某个文件夹/ foo中安装了Grunt,但我当前的文件夹是/ foo/bar/baz,并且我从当前文件夹中运行"grunt sometask",我怎样才能确定Grunt(或NodeJS)来确定我现在的路?也就是说,当我调用grunt时,如何以编程方式获取我所在的文件夹?
当我使用process.cwd()时,我得到了gruntfile的路径,即"foo",这不是我想要的.
我没有特别在Grunt中这样做,任何基于nodejs的解决方案都可以.
css ×1
docker ×1
git ×1
gruntjs ×1
javascript ×1
jsonpath ×1
nginx ×1
node.js ×1
testing ×1
unit-testing ×1