2017-12-27 8 views
2

"도커로 시작하기", 4 부. 내 OS는 Win10 64x입니다. 웹 브라우저를 통해 내 앱에 액세스 할 수 없습니다. 나는 그 문서에서 가능한 이유를 발견했다.도커 시스템에 의해 생성 된 VM에서 포트 7946 및 4789를 여는 방법

연결에 문제가 있습니까? 떼에 진입 네트워크를 사용하기 위해, 당신은 당신이 떼 모드를 사용하기 전에 떼 노드 사이 열고 다음 포트를 가질 필요가 있다는 사실을

유지 :

포트 7946 TCP/UDP 컨테이너 네트워크 검색에 대한 .

컨테이너 수신 네트워크 용 포트 4789 UDP.

도커 시스템으로 만든 VM에서이 포트를 열려고했습니다. 드라이버는 VirtualBox입니다.

$ docker-machine ssh default 
             ##   . 
            ## ## ##  == 
           ## ## ## ## ## === 
          /"""""""""""""""""\___/ === 
         ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~/===- ~~~ 
          \______ o   __/ 
          \ \   __/ 
           \____\_______/ 
       _     _ ____  _   _ 
       | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ 
       | '_ \/_ \/_ \| __| __)/_` |/ _ \/__| |//_ \ '__| 
       | |_) | (_) | (_) | |_/__/ (_| | (_) | (__| < __/ | 
       |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| 
Boot2Docker version 17.09.1-ce, build HEAD : e7de9ae - Fri Dec 8 19:41:36 UTC 2017 
Docker version 17.09.1-ce, build 19e2cf6  
[email protected]:~$ sudo -i 
Boot2Docker version 17.09.1-ce, build HEAD : e7de9ae - Fri Dec 8 19:41:36 UTC 2017 
Docker version 17.09.1-ce, build 19e2cf6 
[email protected]:~# firewall-cmd --z one=public --add-port=7946/tcp --permanent 
-sh: firewall-cmd: not found 
[email protected]:~# vi /etc/sysconfig/iptables 
[email protected]:~# service iptables restart 
-sh: service: not found 
[email protected]:~# source /etc/sysconfig/iptables 
-sh: /etc/sysconfig/iptables: line 1: -A: not found 
-sh: /etc/sysconfig/iptables: line 2: -A: not found 
[email protected]:~# vi /etc/sysconfig/iptables 
[email protected]:~# service iptables status 
-sh: service: not found 
[email protected]:~# yum install firewalld firewalld-config 
-sh: yum: not found 
[email protected]:~# apt get firewalld firewalld-config 
-sh: apt: not found 

그러나 이러한 포트는 열 수 없습니다. 당신이 당신의 버추얼 VM 및 로컬 호스트 사이에 포트 포워딩을해야하는 경우 다음 코드는 또한/등은/SYSCONFIG/iptables에

-A INPUT -p tcp -m state --state NEW -m tcp --dport 7946 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4789 -j ACCEPT 
+0

도커 컴퓨터의 IP 주소를 사용하여 연결하고 있습니까? – yamenk

답변

0

확인에 기록됩니다. 앱이 웹 브라우저 전달을 통해 액세스 할 수없는 경우

$ VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port8000,tcp,,80,,80"; 

: VM이 이미 실행중인

$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,80,,80"; 

경우이 다른 명령을 실행해야합니다
예로 들어 "Boot2Docker: can't get ports forwarding to work"을 참조하십시오 포트 80 (컨테이너에 따라 8000 또는 8080)은 웜 포트보다 문제를 해결할 가능성이 큽니다.