들불

docker 생성한 nginx+php-fpm 에서 curl 먹통현상 해결 방법

· 2023-11-19 (일) 16:21:00 · 700 · 1

한 2일 정도 해매고 찾아 낸 것인데, 여기에 올려두면 두고두고 다시 볼 수 있을 것 같아서 올립니다.

 

docker 생성한 nginx+php-fpm 에서 curl 먹통현상 해결 방법

 

curl 을 요청하면 무한 루푸 돌다가 한참 뒤에 살아나는데 

docker 에서는 curl 못하나? 싶어서 검색해보니

mtu 문제를 거론하더군요. 

mtu는 보내고 받을때 데이터 단위당 용량? 이라는 것 같더라구요.

그런데,

eth0 인가? 최종적으로 외부로 나가는 네트워크 통신 랜? 같은 것인데

 mtu 가1450 로 설정되어 있습니다.

그런데

docker 에서 생성한 가상 컨테이너(nginx 나 apache 등)의 통신 랜? 의 mtu 규격이 1500로 세팅되어 있어서 

1500 을 보내는데 최종적으로 1450만 보내니 50이 잘려서 통신이 안되는 것이 었음.

 

통신 mtu 규격 확인 방법

서버 콘솔에서 ifconfig 로 확인 또는 ip link show 로도 확인 가능함.

그래서 docker 의 가상 컨테이너의 mtu 규격을 1500으로 해주면, 세팅이 완료됩니다.

 

mtu 는 기본 docker 의 메인 설정을 변경해주는 방법과

컨테이너 생성할 때 설정 변경해주는 방법이 있는데

 

docker 메인 설정은

/etc/default/docker 을 열어서 안에
DOCKER_OPTS="--mtu=1450" 

이렇게 설정을 해주시면됩니다.

그런데 전 안되더라구요. docker 을 재시작 했는데 안되더라구요. 그래서

 

컨테이너 생성할 때 설정 변경을 하니 잘되더라구요.

 

docker compose 용 설정

docker-compose.yml 파일 제일 아래 부분에

 

networks:

      {정하신 네트워크 이름}:

            driver: bridge

            driver_opts:

                  com.docker.network.driver.mtu : '1450'

 

 

|

댓글 1개

좋은 정보 감사합니다.

댓글을 작성하시려면 로그인이 필요합니다.

Docker

23건
+
제목 글쓴이 날짜 조회
23-11-28 조회 808
23-11-19 조회 701
22-10-29 조회 814
22-10-25 조회 989
22-10-19 조회 549
22-10-19 조회 1,696
22-10-17 조회 1,146
22-10-15 조회 2,049
22-10-13 조회 1,050
22-10-13 조회 1,035
22-10-12 조회 1,084
22-10-12 조회 1,993
22-10-11 조회 1,240
22-10-10 조회 1,381
22-10-10 조회 1,670
22-10-09 조회 4,948
22-08-01 조회 1,087
22-03-20 조회 827
22-03-12 조회 884
22-02-16 조회 1,024
22-02-07 조회 1,017
22-02-07 조회 1,167
22-02-07 조회 1,238