小编Tho*_*mas的帖子

在部署 compose 环境时,如果 docker 守护进程耗尽了可供分配的网络 IP 地址,会发生什么情况?

目前,我们正在将 compose 环境堆栈部署到 ubuntu 服务器。在 compose 文件中,我们没有定义地址并利用 docker compose 自带的底层默认 docker 桥接网络。

当我们将撰写环境部署到开发服务器(IP 范围 10.xxx)时,基本docker0网络地址从172.17.0.0.

对于每个后续部署,地址都会递增(即172.18.0.0,然后172.19.0.0) - 这是预期的。

我的问题是,当守护进程用完要分配的地址时会发生什么,该进程是否会重新开始172.17.0.0?还是发生了其他事情?我在文档中找不到任何此类信息。

基本上,我想知道这是否是我应该主动采取行动,而不是在问题发生时做出反应。

先感谢您!

networking docker docker-compose

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

Docker 在从管道部署组合环境到服务器时创建与内部网络冲突的 IP 地址

目前,我们正在将 compose 环境堆栈部署到 ubuntu 服务器。在 compose 文件中,我们没有定义地址,也没有利用 docker compose 自带的底层默认 docker 网桥网络。

服务器 IP 在 10.xxx 范围内。

docker0默认情况下,旋转起来的172.17.0.0和增量的第二个字节每个部署(172.18.0.0172.19.0.0,等),我们的服务器上-没有问题出现。

然而,当它启动并从我们的管道部署时,当 compose 启动并运行时,服务器上会创建另一个网络,它被命名为br-xxxxxxxxxxxwherex是一些随机字符。问题出现在这里,因为这个br-网络绑定到一个192.168.x.x地址。

我的问题是,为什么 docker daemon 在部署 compose 环境之前不推断冲突地址?

我可以验证这确实是一个问题,因为一旦发生这种情况,我就无法通过 ssh 进入服务器。

先感谢您!


这与我问的另一个问题有关,但这是我在解决此问题时注意到的一个完全独立的问题,因此我决定单独发表一篇文章。

相关问题的链接:当 docker daemon 在部署组合环境时用完要分配的网络 IP 地址时会发生什么?

networking docker docker-compose

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

为什么可以为 null 的基元在从 C# 中的方法返回之前必须转换为非 null,而复杂对象却不需要?

今天早上我遇到了 C# 语言的一个有趣的方面,我还没有经历过;考虑下面的代码片段:

    public class Example
    {

        public int getInt()
        {
            int? myInt = 2;

            return myInt; // <-- compiler error.
        }

        public object getObject()
        {
            object? obj = new { };

            return obj; // <-- OK, no error.
        }
    }
Run Code Online (Sandbox Code Playgroud)

编译器在上面的注释行上返回错误:
Error CS0266: Cannot implicitly convert type 'int?' to 'int'. An explicit conversion exists (are you missing a cast?) (CS0266)

我发现有趣的是,对象示例运行得很好,没有任何抱怨。我假设这与基元与对象有关,但我无法找到任何资源。我知道返回类型与对象类型不匹配,我只是觉得它适用于对象而不是基元,这很奇怪。如果有人可以分享一些链接/提供解释为什么会这样,我们将不胜感激。

c#

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

标签 统计

docker ×2

docker-compose ×2

networking ×2

c# ×1