그래서 저는 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 Machine을 시작할 준비가되었습니다.
docker-machine start default
그런 다음 Docker 컨테이너를 시작하면 localhost를 통해 액세스 할 수 있습니다.
자세한 내용 은 여기 를 참조하십시오.
답변
localhost
docker-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 으로 이동하면 거기에 있습니다.
답변
많은 시련 끝에이 게시판을 얻을 수있었습니다.
-
내가 사용한 docker run 명령-docker run -p 4680 : 8080 –name bb bulletinboard : 1.0 여기서 4680은 localhost 포트 번호입니다. 8080은 컨테이너가 수신 할 포트 인 컨테이너 포트 번호입니다. 이 포트 번호는 Dockerfile의 EXPOSE 명령에 언급되어 있습니다.
-
그런 다음 웹 브라우저로 이동하여 192.168.99.100:4680을 입력하십시오.
여기에서 192.168.99.100은 도커 머신 IP 주소입니다 (명령어-> docker-machine ip 사용).
- 그 후에 브라우저 페이지가 다음과 같이 열립니다.
이것이 여러분 모두에게 도움이되기를 바랍니다 !!