小编Jak*_*ake的帖子

Docker容器无法访问本地网络DNS

构建docker映像时,我有一个curl命令,可以像这样拉下一个文件:

RUN curl -L http://files.mycompany.com/ -o file.war

files.mycompany.com是只能从公司网络内部访问的服务器。我可以从主机访问此服务器,但如果使用名称,则不能从docker容器中访问(IP正常)。

这有效: RUN ping google.com

这有效:RUN ping 10.3.2.1(files.mycompany.com的IP)

这不起作用:(RUN ping files.mycompany.com将名称转换为另一个IP,这比我从主机ping同一服务器时要多)

我的机器上未正确安装某些东西,因为从同一网络上的另一台开发计算机构建容器可以正常工作。就像docker接口没有从本地网络接收DNS记录吗?

我正在运行Ubuntu 17.04。

dns docker

5
推荐指数
1
解决办法
2585
查看次数

在git上删除远程分支时拒绝

尝试删除远程分支时,出现以下错误:

$ git push work :18300-018_5
remote: Processing changes: refs: 1, done
! [remote rejected] 18300-018_5 (can not delete references)
error: failed to push some refs  [...]
Run Code Online (Sandbox Code Playgroud)

这意味着什么?

git gerrit

4
推荐指数
1
解决办法
4233
查看次数

在 NativeActivity 恢复时重新初始化 OpenGL ES 2 窗口

解决了!请参阅下面的更新。

我们正在将一个大型 C++ 应用程序移植到 Android,在暂停和恢复应用程序之前一切都运行良好。我们监听 APP_CMD_INIT_WINDOW 命令,当它到来时,我们重新初始化所有的egl命令以获取表面、上下文和显示。此后屏幕变黑。但是,如果我们在它正常工作后设置 glClearColor,这意味着我们至少拥有窗口并且可以将其绘制到。这让我们相信可能还有其他东西没有重新初始化。

我的问题是,是否有缓冲区、着色器程序或其他缓存的东西需要在恢复后(或暂停前)清除和重新加载,以及测试这些的合适方法。我们怀疑这可能与我们的应用程序使用旧的 EGL 上下文引用旧缓冲区有关,但我们无法知道。该应用程序使用大量纹理和屏幕外缓冲区。


更新:像往常一样,经过一周的尝试不同的事情,我们终于在创建帖子后解决了这个问题。这是解决方案:

所有缓存的纹理、缓冲区和着色器都连接到 EGL 创建的上下文句柄。有几件事被初始化来创建 GL 上下文,窗口表面就是其中之一。这是唯一依赖于 ANativeWindow 对象的对象,该对象在暂停和恢复应用程序时被销毁并重新创建。因此,这是唯一需要重新创建的。

简而言之:

使用新窗口对象作为参数恢复后再次运行eglCreateWindowSurface。

android android-ndk opengl-es-2.0 android-ndk-r7

3
推荐指数
1
解决办法
2287
查看次数