
젠투 호스트에서 실행되는 공유 PostgreSQL에 액세스해야 하는 몇 개의 도커 컨테이너가 있습니다. 이는 Docker화된 앱이 호스트의 공개 IP를 사용하여 데이터베이스에 연결하는 경우에 잘 작동합니다.
하지만 저는 좀 분리해 보고 싶습니다.루프백 시 추가 개인 IP를 사용하여공용 IP 대신 10.172.17.1을 사용하세요.
/etc/conf.d/net에 무엇을 추가해야 할지 잘 모르겠고 이것은 물리적으로 접근할 수 없는 원격 상자이기 때문에 그냥 가지고 놀기에는 약간 주저합니다. 누군가 나에게 힌트를 줄 수도 있나요?
정말 감사합니다!
답변1
나는 그것을 스스로 알아냈다:
config_lo 10.172.17.1/32
/etc/conf.d/net에 추가한 다음 로 net.lo 서비스를 다시 시작하여 이 추가 IP를 할당 할 수 있습니다 rc-service net.lo restart
. 그러나... 이것은 다음 재부팅 후에는 유지되지 않습니다.
현재 젠투는 루프백을 불러오기 위해 net.lo 서비스를 시작하지 않고 별도의 스크립트 /etc/init.d/loopback을 사용합니다. 스크립트는 ifconfig
작업을 수행하는 데 사용되며 IP는 하드코딩됩니다. 스크립트 자체를 패치하는 것은 확실히 나쁜 생각입니다.
그러나 추가 IP는 Docker 컨테이너가 시작된 후에만 필요하므로 로컬 서비스에서 추가할 수 있습니다.
cat "ip addr add 10.172.17.1/32 dev lo scope host" >/etc/local.d/docker_loopback.start
cat "ip addr del 10.172.17.1/32 dev lo scope host" >/etc/local.d/docker_loopback.stop
chmod a+x /etc/local.d/docker_loopback.*
이제 재부팅하거나 시작 스크립트를 실행한 후 결과를 확인하십시오.
/etc/local.d/docker_loopback.start
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
inet 10.172.17.1/32 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever