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> 고급> 포트 전달
- 새 규칙을 추가하려면 "+"를 클릭하십시오.
- 호스트 포트
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가 없기 때문에 비슷한 문제에 직면 한 것 같습니다. 내 해결 방법은 매우 간단합니다.
- 도커 IP 기본값 확인
$ docker-machine ip 기본값
192.168.99.100
Oracle Virtual Machine으로 이동하여 포트 전달을 설정합니다. 네트워크 설정이 NAT인지 확인하고 포트 전달을 추가합니다. 호스트 IP : 127.0.0.1, 고객 IP : 192.168.99.100, 80 포트 모든 설정 이 같은
브라우저에 다시 시도하고 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 :
- VirtualBox Manager를 엽니 다 (Windows의 시작 프로그램에서
VirtualBox Manager
). - Docker Machine VirtualBox 이미지를 선택합니다 (예 : 기본값).
- 설정-> 네트워크-> 고급-> 포트 포워딩을 엽니 다.
- 앱 이름, 원하는 호스트 포트 및 게스트 포트를 추가합니다.
i.e, app name : nginx, host: 127.0.0.1, host port: 80, guest port: 80
단계 # 04 : 이제 다음을 실행하여 Docker 머신을 시작할 준비가되었습니다.
docker-machine start default
그런 다음 Docker 컨테이너를 시작하면 localhost를 통해 액세스 할 수 있습니다.
Have a look here for details.
To map the ports expected to localhost
instead of hitting the docker-machine IP directly, you can use the VirtualBox CLI.
If the docker-machine VM (here called default
) is running, add and delete rules like this:
> VBoxManage.exe controlvm "default" natpf1 "nginx,tcp,,8888,,8888"
> VBoxManage.exe controlvm "default" natpf1 delete nginx
If the VM is not running, or you want to stop before altering it:
> docker-machine stop
> VBoxManage.exe modifyvm "default" --natpf1 "nginx,tcp,,8888,,8888"
> VBoxManage.exe modifyvm "default" --natpf1 delete "nginx"
> docker-machine start
Where the format of the port forwarding rule is [<name>],tcp|udp,[<hostip>],<hostport>,[<guestip>], <guestport>
.
Note that in VirtualBox, you want to map to the host port of Docker map, not the internal container port. You're mapping host -> VM, then Docker maps VM -> container.
See the VirtualBox docs.
참고URL : https://stackoverflow.com/questions/42866013/docker-toolbox-localhost-not-working
'code' 카테고리의 다른 글
오류 LNK2005, 이미 정의 되었습니까? (0) | 2020.11.19 |
---|---|
PHP 7 simpleXML (0) | 2020.11.19 |
iPhone 핵심 데이터 "자동 경량 마이그레이션" (0) | 2020.11.19 |
iOS의 전화 번호 형식 (0) | 2020.11.19 |
iOS7에서 UIAlertView에 UITextField를 추가 할 수 없습니다… iOS 6에서 작동합니다. (0) | 2020.11.19 |