无法在Windows 10上使用docker访问localhost:8080
在我的计算机上运行我的docker-compose-development.yaml
时,我无法连接到http://localhost:8080
。
另外,我可以运行docker-compose -f docker-compose-development.yaml exec web curl http://localhost:8080
,我得到了一个结果。 所以它似乎不是一个代码问题。
我已经做了什么:
- 使用
$ docker inspect ...
容器IP直接连接$ docker inspect ...
- 试试另一台Windows 10笔记本电脑( 它的工作原理 )
- 将
localhost
更改为127.0.0.1
或0.0.0.0
- 尝试另一个端口比
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
来自docker-compose
ps
命令:
$ 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
尝试以下步骤,
1 – 列出所有正在运行的docker集装箱
docker ps -a
运行此命令后,您应该能够查看当前正在运行的所有Docker容器,并且应该看到名为webapp_web_1的容器在此处列出。
2 – 获取您的networking服务器容器运行的IP地址。 要做到这一点,运行以下命令。
docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" webapp_web_1
尝试访问在运行上述命令之后显示的IP,并使用该IP而不是本地主机访问正在运行的容器。
我已经回答了一个与Windows上的确切问题有关的类似问题。 请通过此链接参考以获得有关此问题为何存在的详细信息。
希望这可以帮助你。