> 운영 및 유지보수 > Docker > Docker가 외부 네트워크 솔루션에 연결할 수 없습니다.

Docker가 외부 네트워크 솔루션에 연결할 수 없습니다.

풀어 주다: 2020-03-31 11:50:50
원래의
10922명이 탐색했습니다.

Docker가 외부 네트워크 솔루션에 연결할 수 없습니다.

Docker가 외부 네트워크에 연결할 수 없는 문제에 대한 해결 방법:

1. 이전에 정상적으로 사용했는데 호스트는 외부 네트워크에 액세스할 수 있지만 컨테이너는 액세스할 수 없는 경우 Docker를 다시 시작해 볼 수 있습니다. 문제 해결을 위한 서비스:

>>>sercice docker restart
#debian/ubutun中sh为dash,centos指bash
>>>docker run -it -v /yourfile:/file -p 8000:8000 /bin/bash imageid 
>>>
로그인 후 복사

2. docker 컨테이너는 서비스를 제공하고 포트 8888을 수신합니다. 외부 액세스를 활성화하려면 포트 매핑이 필요합니다.

docker run -it --rm -p 8888:8888 server:v1
로그인 후 복사

이때 문제가 발생했습니다. 가상 머신 A에 배포한 후 8888 포트 서비스는 A에서는 액세스할 수 있지만 B에서는 액세스할 수 없습니다.

요청이 차단되었기 때문일 것입니다.

firewall-cmd --state를 확인하세요

출력이 "실행되지 않음"이면 FirewallD가 실행되지 않고 모든 보호 전략이 시작되지 않은 것이므로 연결을 차단하는 방화벽을 배제할 수 있습니다.

출력이 "실행 중"이면 현재 열려 있는 포트와 서비스를 확인하려면 다음 명령을 입력해야 한다는 의미입니다.

firewall-cmd --list-ports
firewall-cmd --list-services
로그인 후 복사

두 가지 해결 방법이 있습니다.

1. 서비스:

방화벽이 필요하지 않은 경우 FirewallD 서비스를 끄세요

systemctl stop firewalld.service
로그인 후 복사

2. 지정된 포트를 외부 세계에 여는 정책을 추가하세요.

예를 들어 외부 5000을 열고 싶다면 /tcp 포트를 사용하면 다음 명령을 사용할 수 있습니다.

firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload
로그인 후 복사

일시적으로만 포트를 열고 명령의 첫 번째 줄에서 "--permanent" 매개변수를 제거하면 FirewallD 서비스가 다시 시작될 때 이 정책이 유효하지 않게 됩니다. .

IP 전달이 켜져 있지 않습니다

sysctl net.ipv4.ip_forward
로그인 후 복사

net.ipv4.ip_forward=0이 표시되면 켜져 있지 않은 것입니다.

sysctl.conf 파일을 엽니다.

vi /etc/sysctl.conf
로그인 후 복사

다음 코드를 추가합니다.

net.ipv4.ip_forward=1
로그인 후 복사

더 많은 관련 튜토리얼을 보려면 PHP 중국어 웹사이트의 docker tutorial 열을 주의하세요.

위 내용은 Docker가 외부 네트워크 솔루션에 연결할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿