首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过VM IP连接到我的docker应用程序时遇到麻烦

问通过VM IP连接到我的docker应用程序时遇到麻烦
EN

Stack Overflow用户
提问于 2019-06-19 13:18:57
回答 1查看 246关注 0票数 0

解于底

,但为什么我要追加:4000?

我在遵循码头入门指南,https://docs.docker.com/get-started/part4/

我很肯定我已经做了正确的一切,但我想知道为什么我不能连接到查看应用程序后,部署它。

我已经将我的env设置为VM,myvm1,以参考以下命令。

码头集装箱ls -a

代码语言:javascript
复制
CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS              PORTS               NAMES
099e16249604        beresj/getting-started:part2   "python app.py"     12 seconds ago      Up 12 seconds       80/tcp              getstartedlab_web.5.y0e2k1r1ev47u24e5iufkyn3i
6f9a24b343a7        beresj/getting-started:part2   "python app.py"     12 seconds ago      Up 12 seconds       80/tcp              getstartedlab_web.3.1pls3osj3uhsb5dyqtt4ts8j6

码头形象ls -a

代码语言:javascript
复制
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
beresj/getting-started   <none>              e290b6208c21        22 hours ago        131MB

码头堆叠ls

代码语言:javascript
复制
NAME                SERVICES            ORCHESTRATOR
getstartedlab       1                   Swarm

码头机器ls

代码语言:javascript
复制
NAME    ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS
myvm1   *        virtualbox   Running   tcp://192.168.99.100:2376           v18.09.6   
myvm2   -        virtualbox   Running   tcp://192.168.99.101:2376           v18.09.6  

码头栈ps启动实验室

代码语言:javascript
复制
ID                  NAME                  IMAGE                          NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
vkxx79fh3h85        getstartedlab_web.1   beresj/getting-started:part2   myvm2               Running             Running 3 minutes ago                       
qexbaa3wz0pd        getstartedlab_web.2   beresj/getting-started:part2   myvm2               Running             Running 3 minutes ago                       
1pls3osj3uhs        getstartedlab_web.3   beresj/getting-started:part2   myvm1               Running             Running 3 minutes ago                       
ucuwen1jrncf        getstartedlab_web.4   beresj/getting-started:part2   myvm2               Running             Running 3 minutes ago                       
y0e2k1r1ev47        getstartedlab_web.5   beresj/getting-started:part2   myvm1               Running             Running 3 minutes ago     

卷曲192.168.99.100

代码语言:javascript
复制
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused

码头信息

代码语言:javascript
复制
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 18.09.6
...
Swarm: active
 NodeID: 0p9qrax9h3by0fupat8ufkfbq
 Is Manager: true
 ClusterID: 7vnqdk85n8jx6fqck9k7dv2ka
 Managers: 1
 Nodes: 2
 Default Address Pool: 10.0.0.0/8  
...
Node Address: 192.168.99.100
 Manager Addresses:
  192.168.99.100:2377
...
Kernel Version: 4.14.116-boot2docker
Operating System: Boot2Docker 18.09.6 (TCL 8.2.1)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 989.4MiB
Name: myvm1

当我只在本地机器上运行它,而不是在集群中的VM上运行它时,我会希望看到我能够看到的东西(我认为我懂术语,对吗?)

不知道如何检查打开的端口。

再次:如果我只是移除堆栈,取消设置对接机环境,然后只运行:

docker堆栈部署-c docker-compose.yml getstartedlab

不在vm上。

提前谢谢你。(而且,我是新来的,所以是入门指南,所以我很感谢你的帮助)

编辑

如果我将:4000添加到我的url中的VM中,例如: 192.168.99.100:4000或192.168.99.101:4000,它就能工作。它显示了myvm1的“码头集装箱ls”中列出的两个容器Id,另外三个来自myvm2。能告诉我为什么要追加4000吗?是不是因为我的坞里有端口:"4000:80“-come.yml?

EN

回答 1

Stack Overflow用户

发布于 2019-06-19 13:38:53

不确定这是否有帮助,但如果使用docker inspect <instance_id_here>,您可以看到公开了哪些端口。

公开的端口不是打开的端口。您需要将主机端口绑定到docker-come.yml中的容器端口,这样才能打开主机端口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56668638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档