首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用码头网络隔离?

如何禁用码头网络隔离?
EN

Server Fault用户
提问于 2022-06-01 06:09:14
回答 2查看 1.4K关注 0票数 0

我用gitlab,gitlab-runner,sonarqube,nexus .使用docker撰写测试构建链,然后在我公司的服务器上实现它们。这些服务器使用相同的网络桥。

这在我以前的ubuntu上工作得很好,但是由于我使用debian,默认网桥上的容器不能再连接到对接者组合桥。

由于这不是码头的操作实例,我如何禁用码头网络隔离?

EN

回答 2

Server Fault用户

发布于 2022-06-07 23:56:17

在使用Docker时,需要添加键network_mode并将其设置为"host"

资料来源:船坞-撰写文件 福特的堆栈溢出回答

如果需要,可以在使用命令--network host时使用标志docker run

来源:码头医生

票数 0
EN

Server Fault用户

发布于 2022-06-18 08:15:36

这就是我发现的。docker iptables规则如下所示:

代码语言:javascript
复制
$ sudo iptables -vL --line-numbers
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DOCKER-USER  all  --  any    any     anywhere             anywhere
2        0     0 DOCKER-ISOLATION-STAGE-1  all  --  any    any     anywhere             anywhere
...

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  anywhere             anywhere
2        0     0 DOCKER-ISOLATION-STAGE-2  all  --  myiface0 !myiface0  anywhere             anywhere
3        0     0 RETURN     all  --  any    any     anywhere             anywhere

Chain DOCKER-ISOLATION-STAGE-2 (2 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DROP       all  --  any    docker0  anywhere             anywhere
2        0     0 DROP       all  --  any    myiface0  anywhere             anywhere
3        0     0 RETURN     all  --  any    any     anywhere             anywhere

Chain DOCKER-USER (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 RETURN     all  --  any    any     anywhere             anywhere

首先,它检查链式码头用户的规则是否允许在接受还是放弃之间作出决定,然后码头桥之间的每一个连接都由码头隔离-阶段-2链过滤。

我们可以的

在启动docker-组合之前,我将网络创建为root:

代码语言:javascript
复制
#!/bin/bash

if ! docker network ls | grep my-network
then
    docker network create \
           --driver=bridge \
           --subnet=172.18.0.0/16 \
           --opt com.docker.network.bridge.name=myiface0 \
           my-network
fi

iptables -t filter -F DOCKER-ISOLATION-STAGE-2

在我的码头-撰写文件中:

代码语言:javascript
复制
services:

  my-gitlab:
    networks:
      - my-network
    ...
    
  ...

networks:
  my-network:
    external: true
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1102209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档