解于底
,但为什么我要追加:4000?
我在遵循码头入门指南,https://docs.docker.com/get-started/part4/
我很肯定我已经做了正确的一切,但我想知道为什么我不能连接到查看应用程序后,部署它。
我已经将我的env设置为VM,myvm1,以参考以下命令。
码头集装箱ls -a
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
REPOSITORY TAG IMAGE ID CREATED SIZE
beresj/getting-started <none> e290b6208c21 22 hours ago 131MB码头堆叠ls
NAME SERVICES ORCHESTRATOR
getstartedlab 1 Swarm码头机器ls
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启动实验室
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
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused码头信息
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?
发布于 2019-06-19 13:38:53
不确定这是否有帮助,但如果使用docker inspect <instance_id_here>,您可以看到公开了哪些端口。
公开的端口不是打开的端口。您需要将主机端口绑定到docker-come.yml中的容器端口,这样才能打开主机端口。
https://stackoverflow.com/questions/56668638
复制相似问题