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

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

尚
원래의
2020-03-31 11:50:5010942검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.