如何解决Docker for Windows,无法从控制台启动容器
我开始在Windows 10家庭版上使用Docker。
Docker-engine: 19.03.13
Docker-desktop: 2.4.0.0 (48506)
我已经安装了最新版本,并且在使用Windows Docker App启动容器时一切正常。但是,当我从控制台启动容器(PowerShell,git-bash,处于管理模式的cmd)时,我无法访问该容器。
git-bash
docker run -p 9990:9990 -d --name kc_console jboss/keycloak:latest
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5197e5acd96 jboss/keycloak:latest "/opt/jboss/tools/do" 5 minutes ago Up 5 minutes 8443/tcp,0.0.0.0:9980->8080/tcp kc_app
9607511f2dd8 jboss/keycloak:latest "/opt/jboss/tools/do" 6 minutes ago Up 6 minutes 8080/tcp,8443/tcp,0.0.0.0:9990->9990/tcp kc_console
kc_app容器可通过浏览器访问,但pc_console无法访问。
http://localhost:9980/auth/
有效,但
http://localhost:9990/auth/
不起作用
我看到的唯一区别是端口设置。
在Docker桌面(检查容器)中:
pc_console (port: localhost:9990)
pc_app (port: 0.0.0.0:9980)
任何人都知道,我该如何解决? 环境问题? 缺少设置?
解决方法
几个小时后问她,我发现了错误。
我使用-p参数错误。
docker run -p 9990:8080 -d --name kc_console jboss/keycloak:latest
现在可以正常使用了。
,如果您使用的是Docker Toolbox
,那么您用docker run -p
发布的任何端口都将发布在Docker Toolbox VM的私有IP地址上。
docker-machine ip
会告诉您。通常是192.168.99.100
。
然后,您可以浏览(192.168.99.100:8080
)而不是(localhost:8080
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。