2017-11-26 2 views
1

내 컴퓨터에서 docker-compose-development.yaml을 실행하면 http://localhost:8080에 연결할 수 없습니다.Windows 용 도커가있는 localhost : 8080에 액세스 할 수 없습니다.

또한 docker-compose -f docker-compose-development.yaml exec web curl http://localhost:8080을 실행할 수 있으며 결과가 나타납니다. 그래서 코드 문제가 아닌 것 같습니다.

은 이미 완료 한 것 :

  • 직접 연결 $ docker inspect ...
  • 와 컨테이너 IP에 127.0.0.1 또는 0.0.0.0
  • 변경 localhost (이 작동 )을 다른 Windows 10 노트북에서 시도
  • 다른 포트를 사용해보십시오. 8080

이내 $ docker version입니다 :이

Client: 
Version:  17.11.0-ce 
API version: 1.34 
Go version: go1.8.4 
Git commit: 1caf76c 
Built:  Mon Nov 20 18:30:11 2017 
OS/Arch:  windows/amd64 

Server: 
Version:  17.11.0-ce 
API version: 1.34 (minimum version 1.12) 
Go version: go1.8.5 
Git commit: 1caf76c 
Built:  Mon Nov 20 18:39:28 2017 
OS/Arch:  linux/amd64 
Experimental: true 

Dockerfile : 이것은

FROM node:9.1-alpine 

RUN npm install -g nodemon 


WORKDIR /opt/webserver/ 
COPY . /opt/webserver 
RUN npm install 

CMD ["npm","run","start"] 
EXPOSE 8080 

RUN rm -rf /tmp/* /var/tmp/* 

docker-compose-development.yaml :

version: "3" 

services: 
    web: 
    image: registry.gitlab.com/soundtrack/webapp 
    ports: 
     - "8080:8080" 
    links: 
     - database 
    volumes: 
     - ".:/opt/webserver:rw" 
    database: 
    image: mongo:3.4.10 

ps 명령 docker-compose에서 :

$ docker-compose -f .\docker-compose-development.yaml ps 
     Name     Command    State   Ports 
-------------------------------------------------------------------------------- 
webapp_database_1 docker-entrypoint.sh mongod Up  27017/tcp 
webapp_web_1  npm run start     Up  0.0.0.0:8080->8080/tcp 

답변

0

시도 다음 단계,

1 - 당신이 명령을 실행하면 현재 실행중인 모든 고정 표시기 컨테이너를 볼 수 있어야합니다

docker ps -a 

실행중인 모든 고정 표시기 컨테이너를 나열하고해야 거기에 webapp_web_1이라는 이름의 컨테이너가 표시됩니다.

2 - 웹 서버 컨테이너가 실행중인 IP 주소를 가져옵니다. 이렇게하려면 다음 명령을 실행하십시오.

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" webapp_web_1 

위의 명령을 실행 한 후 표시된 IP에 액세스하여 실행중인 컨테이너에 localhost 대신 해당 IP 주소로 액세스 해보십시오.

Windows의 정확한 문제와 관련된 비슷한 질문에 답변했습니다. 이 문제가 우선하는 이유에 대한 자세한 내용은 link을 통해 참조하십시오.

희망이 도움이 될 것입니다.

+0

"docker-machine ip default"는 나에게 IP 주소를 알려주었습니다. –

관련 문제