【问题标题】:Docker for Windows, container started from console is not reachableDocker for Windows,无法访问从控制台启动的容器
【发布时间】:2020-10-24 17:49:19
【问题描述】:

我开始在 Windows 10 家庭版上使用 docker。

Docker-engine: 19.03.13

Docker-desktop: 2.4.0.0 (48506)

我已经安装了最新版本,当我使用 Windows Docker 应用程序启动容器时一切正常。但是当我从控制台(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)

任何人都知道,我该如何解决这个问题? 环境问题? 缺少设置?

【问题讨论】:

    标签: windows docker docker-desktop


    【解决方案1】:

    在尝试了几个小时并询问她之后,我发现了错误。

    我用的参数-p错了。

    docker run -p 9990:8080 -d --name kc_console jboss/keycloak:latest
    

    现在它可以正常工作了。

    【讨论】:

      【解决方案2】:

      如果您使用的是 Docker Toolbox,那么您使用 docker run -p 发布的任何端口都将发布在 Docker Toolbox VM 的私有 IP 地址上。

      docker-machine ip 会告诉你。一般是192.168.99.100

      然后您可以浏览 (192.168.99.100:8080) 而不是 (localhost:8080)。

      【讨论】:

      • 感谢您的快速回答。我正在使用泊坞窗桌面。 Docker Toolbox 是我认为的旧版本。
      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 2018-01-05
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 2018-06-25
      • 1970-01-01
      相关资源
      最近更新 更多