gpt4 book ai didi

java - Docker IPAddress空:无法访问容器

转载 作者:行者123 更新时间:2023-12-02 18:22:33 34 4
gpt4 key购买 nike

我按照以下方式构建了容器:

docker build -t microservicedemo/corenlp .

接下来,我运行它:
docker run -P -d --name corenlp microservicedemo/corenlp

docker ps -a显示:
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                     NAMES
9e7d92c27e39 microservicedemo/corenlp "java -Djava.secur..." 4 seconds ago Up 2 seconds 0.0.0.0:32768->8080/tcp corenlp

但是我无法通过 http://localhost:8080http://192.168.0.26:8080访问它。当我运行 docker inspect 9e7d92c27e39 | grep IPA时,IP地址为NULL或“”。最后,将 DOCKER_HOST设置为 unix:///var/run/docker.sock

我不知道如何在浏览器中或通过curl访问容器。

最佳答案

查看docker ps的输出:

PORTS
0.0.0.0:32768->8080/tcp
这表明容器的端口8080已发布到主机的端口号32768。这是您应该连接的地方。您需要发送请求到 http://<your docker host ip>:32768而不是 http://<your docker host ip>:8080
请注意 -Pdocker run选项使Docker将所有已发布的容器端口映射到主机上的随机端口,因此,下次运行容器8080可能不再映射到32768!如果要避免这种情况,可以显式映射端口:
docker run -p 8888:8080 -d --name corenlp microservicedemo/corenlp
此命令会将容器的端口8080映射到Docker主机上的8888端口( -p <host port>:<container port>)。
编辑
Docker主机IP是 Docker daemon在其上运行的机器(托管镜像,容器,卷等的服务)的IP。如果是Linux,则是安装Docker的机器(默认情况下)。如果是Windows和OSX,则为 docker-machine的IP。 DOCKER_HOST变量绝不连接到Docker将端口发布到的IP。它仅定义 Docker CLI( docker命令)应如何连接到上述 Docker daemon( dockerd)。

关于java - Docker IPAddress空:无法访问容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47195085/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com