[windows] Docker Toolbox-Localhost가 작동하지 않음

그래서 저는 Windows 10 pro가 아니기 때문에 컴퓨터에 Hyper-V가 없기 때문에 Docker Toolbox를 사용하고 있습니다. 모든 것이 제대로 작동하는 것 같지만 브라우저로 이동하려고 0.0.0.0:80하면 항상 나를 반환합니다.이 사이트에 연결할 수 없습니다.

그러나 명령을 실행하면 docker container ps다음 0.0.0.0:80->80/tcp이 표시됩니다.이 주소가 작동해야 함을 의미합니다. 나는 stackoverflow 및 github 문제를 검색했습니다. 이제 막혔습니다.

내가 뭔가를 놓치고 있습니까?

고마워, 마크

편집하다:

사용하면 docker-machine ip default나를 반환합니다 192.168.99.100. 포트 80에서 실행합니다. 주소가 컨테이너 ID가된다는 점을 제외하면 여전히 동일한 결과를 얻습니다.https://fd677edg12

cmd에서 해당 명령을 실행하여 ipv4 : cmd /k ipconfig /all. 결과를 포트와 함께 넣으면 동일한 결과가 반환됩니다.https://fd677edg12



답변

Docker Toolbox는 Windows 용 Docker만큼 편리하지는 않지만 Home Edition을 사용하고 있기 때문에 올바르게 사용하고 있습니다.

도구 상자에서 아무 것도 없을 것 localhost등이 될 것이다 192.168.99.100는 버추얼 박스에서 리눅스 VM을 실행중인 때문에, 기본적으로.

따라서 실행하면 docker run -p 80:80 nginx

( 192.168.99.100해당 포트에서 수신하려면 포트를 게시해야했습니다. )

그럼 http://192.168.99.100작동해야합니다.


답변

DockerToolBox 및 OracleVM VirtualBox를 사용하는 동안 localhost : 8080에서 내 애플리케이션에 액세스하는 데 처음에는 몇 가지 문제가있었습니다.

VirtualBox에서 :

  1. 적절한 컴퓨터를 클릭합니다 (아마도 “기본값”이라고 표시된 컴퓨터).
  2. 설정
  3. 네트워크> 어댑터 1> 고급> 포트 전달
  4. 새 규칙을 추가하려면 “+”를 클릭하십시오.
  5. 호스트 포트 8080및 게스트 포트 설정 8080; 호스트 IP와 게스트 IP를 비워 두어야합니다.

다음 명령을 실행하십시오.

docker run -p 8080:8080 ${image_id}


답변

https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell 에서 Windows 자습서에 대한 docker를 따르고 웹 브라우저에서 nginx를 테스트 할 때 # 6 단계에서 멈췄습니다. . Windows Home도 사용하고 Hyper-V가 없기 때문에 비슷한 문제에 직면 한 것 같습니다. 내 해결 방법은 매우 간단합니다.

  1. 도커 IP 기본값 확인

$ docker-machine ip 기본값

192.168.99.100

  1. Oracle Virtual Machine으로 이동하여 포트 전달을 설정합니다. 네트워크 설정이 NAT인지 확인하고 포트 전달을 추가합니다. 호스트 IP : 127.0.0.1, 고객 IP : 192.168.99.100, 80 포트 모든 설정
    이 같은

  2. 브라우저에 다시 시도하고 http : // localhost 또는 http://127.0.0.1을 실행 합니다 (포트 80도 추가 할 수 있음). 실행되어야합니다.

문제는 nginx IP가 도커 가상 머신 내에서 액세스 할 수 있도록되어 있으므로 호스트 머신의 브라우저에서 직접 액세스하려면 해당 포트 포워딩 설정이 필요합니다.


답변

localhost지침에 따라 ‘192.168.99.100’대신 사용할 수 있습니다 .

단계 # 01 :

docker-machine ip default

기본 IP가 표시됩니다.

2 단계 :

docker-machine stop default

단계 # 03 :

  1. VirtualBox Manager를 엽니 다 (Windows의 시작 프로그램에서 VirtualBox Manager).
  2. Docker Machine VirtualBox 이미지를 선택합니다 (예 : 기본값).
  3. 설정-> 네트워크-> 고급-> 포트 포워딩을 엽니 다.
  4. 앱 이름, 원하는 호스트 포트 및 게스트 포트를 추가합니다.
    i.e, app name : nginx, host: 127.0.0.1, host port: 80, guest port: 80

단계 # 04 :
이제 다음을 실행하여 Docker Machine을 시작할 준비가되었습니다.

docker-machine start default

그런 다음 Docker 컨테이너를 시작하면 localhost를 통해 액세스 할 수 있습니다.

자세한 내용 은 여기 를 참조하십시오.


답변

localhostdocker-machine IP에 직접 연결 하는 대신 예상되는 포트를 매핑하려면 VirtualBox CLI를 사용할 수 있습니다.

docker-machine VM (여기서는 default)이 실행중인 경우 다음과 같은 규칙을 추가하고 삭제합니다.

> VBoxManage.exe controlvm "default" natpf1 "nginx,tcp,,8888,,8888"
> VBoxManage.exe controlvm "default" natpf1 delete nginx

VM이 실행되고 있지 않거나 변경하기 전에 중지하려는 경우 :

> docker-machine stop
> VBoxManage.exe modifyvm "default" --natpf1 "nginx,tcp,,8888,,8888"
> VBoxManage.exe modifyvm "default" --natpf1 delete "nginx"
> docker-machine start

포트 전달 규칙의 형식은 [<name>],tcp|udp,[<hostip>],<hostport>,[<guestip>], <guestport>.

VirtualBox에서는 내부 컨테이너 포트가 아닌 Docker 맵 의 호스트 포트에 매핑하려고합니다 . 호스트-> VM을 매핑 한 다음 Docker는 VM-> 컨테이너를 매핑합니다.

VirtualBox 문서를 참조하십시오 .


답변

이것은 ip 192.168.99.100을 입력하지 않는 또 다른 쉬운 방법입니다. 이동 C:\Windows\System32\drivers\etc\hosts하여 파일 끝에 추가하십시오.

192.168.99.100 docker.awesome 또는 원하는 이름.

파일을 저장합니다 (관리자 권한이 필요하므로 파일을 마우스 오른쪽 버튼으로 클릭하고 파일을 편집 할 때 저장할 수 있도록 관리자 권한으로 실행해야합니다).

이 경우 선택한 도메인 이름 인 docker.awesome : 8080 으로 이동하면 거기에 있습니다.


답변

많은 시련 끝에이 게시판을 얻을 수있었습니다.

  1. 내가 사용한 docker run 명령-docker run -p 4680 : 8080 –name bb bulletinboard : 1.0 여기서 4680은 localhost 포트 번호입니다. 8080은 컨테이너가 수신 할 포트 인 컨테이너 포트 번호입니다. 이 포트 번호는 Dockerfile의 EXPOSE 명령에 언급되어 있습니다.

  2. 그런 다음 웹 브라우저로 이동하여 192.168.99.100:4680을 입력하십시오.

여기에서 192.168.99.100은 도커 머신 IP 주소입니다 (명령어-> docker-machine ip 사용).

  1. 그 후에 브라우저 페이지가 다음과 같이 열립니다.

여기에 이미지 설명 입력

이것이 여러분 모두에게 도움이되기를 바랍니다 !!