Hi, a.c: #include #include #include #include #include int main(int argc, char *argv[]) { struct addrinfo hints; struct addrinfo *result, *rp; int r; char s[INET6_ADDRSTRLEN]; memset(&hints, 0, sizeof(hints)); if (argc > 2) hints.ai_family = AF_INET; hints.ai_socktype = SOCK_DGRAM; r = getaddrinfo(argv[1], NULL, &hints, &result); if (r != 0) { fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(r)); exit(EXIT_FAILURE); } for (rp = result; rp != NULL; rp = rp->ai_next) { switch (rp->ai_family) { case AF_INET: inet_ntop(AF_INET, &((struct sockaddr_in *)rp->ai_addr)->sin_addr, s, INET6_ADDRSTRLEN); printf("AF_INET: %s\n", s); break; case AF_INET6: inet_ntop(AF_INET6, &((struct sockaddr_in6 *)rp->ai_addr)->sin6_addr, s, INET6_ADDRSTRLEN); printf("AF_INET6: %s\n", s); break; } } freeaddrinfo(result); } a.sh: #!/bin/sh -eux apk add build-base cd app gcc a.c ./a.out p2.x-yuri.site set_ai_family ./a.out p2.x-yuri.site $ docker run --rm -itv $PWD:/app alpine:3.12 ./app/a.sh ... + ./a.out p2.x-yuri.site set_ai_family AF_INET: 3.67.126.242 + ./a.out p2.x-yuri.site AF_INET: 3.67.126.242 $ docker run --rm -itv $PWD:/app alpine:3.13 ./app/a.sh ... + ./a.out p2.x-yuri.site set_ai_family AF_INET: 3.67.126.242 + ./a.out p2.x-yuri.site getaddrinfo: Name does not resolve $ docker run --rm -itv $PWD:/app alpine:3.14 ./app/a.sh ... + ./a.out p2.x-yuri.site set_ai_family AF_INET: 3.67.126.242 + ./a.out p2.x-yuri.site getaddrinfo: Name does not resolve Regards, Yuri