docker / lxc ligação em ponte

1

Eu tenho este servidor (o host) que tem 1000 endereços IP externos. Eu criei um contêiner docker executando o squid3 e preciso usar esses endereços IP. Eu posso habilitar o encaminhamento do host, mas isso só encaminha a solicitação para o docker ip local, o que estraga minhas ACLs do squid, já que o squid vê o ip interno em vez do externo.

Minha pergunta é a seguinte, como eu jogo com docker ou lxc (o docker tem diretivas lxc via -lxc-conf =) para que eu possa ver os endereços IP externos do meu host no meu contêiner (executando o ifconfig por exemplo). No momento, o docker começa com sua própria rede isolada, portanto é inutilizável para mim.

Os endereços IP externos do host são atribuídos à interface p1p1.

Eu tentei executá-lo com -lxc-conf="lxc.network.type = phys" -lxc-conf="lxc.network.link = p1p1", mas isso bagunça completamente a interface do meu host e até me expulsa do ssh .

Alguma ideia do que estou fazendo errado?

    
por Romeo Mihalcea 12.12.2013 / 01:07

1 resposta

1

A canalização pode ajudá-lo.

Connect a container to a local physical interface

Let's pretend that you want to run two Hipache instances, listening on real interfaces eth2 and eth3, using specific (public) IP addresses. Easy!

pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157
pipework eth3 $(docker run -d hipache /usr/sbin/hipache) 107.22.140.5

Note that this will use macvlan subinterfaces, so you can actually put multiple containers on the same physical interface.

Acho que isso é o que você precisa.

    
por 12.12.2013 / 07:08

Tags