우분투 시스템에 우분투 컨테이너가 있습니다. 컨테이너는 클라이언트처럼 동작하고 우분투 호스트 시스템은 서버와 같은 역할을합니다. 그래서 소켓 프로그래밍을 사용하여 호스트 시스템에 데이터를 보내고 싶습니다. 호스트 시스템에 데이터를 보내려면 호스트 Ip가 필요합니다. 컨테이너에서 호스트 IP를 얻는 방법. 시도 :도커 컨테이너에 호스트 IP 주소 받기
/sbin/ip route|awk '/default/ { print $3 }'
하지만 Docker ip : 172.17.42.1
을 반환합니다. 하지만 내 호스트 시스템 idp는 : 192.168.2.101
입니다. 도커 컨테이너에서 호스트 IP를 얻는 방법. 문제를 알기 위해 아래 코드를 볼 수 있습니다.
우분투 호스트 server.c은 다음과 같습니다 :
bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
listen(listenfd, 10);
connfd = accept(listenfd, (struct sockaddr*)NULL, NULL);
컨테이너 client.c은 다음과 같습니다
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // <-- I want place my Host IP here
어떻게 용기에 호스트의 IP 주소를받을 수 있도록?