繁体   English   中英

Docker TCP vs主机端口

[英]Docker TCP vs host port

有人可以帮助我理解这一点吗,我有一个 Dockerfile 和 dockercompose.yaml

当我做 docker-compose 时,我看到 tcp 与暴露的端口相比有所不同,这是文件

> Dockerfile 
FROM msridhara/tomcat 
VOLUME /tmp  
CMD ["catalina.sh","run"] 
EXPOSE 81
>docker-compose.yaml
version: '2'
services:
  web:
    image: msridtomcat
    build: .
    container_name: mcontainer
    restart: always
    volumes:
      - /home/murali/website/containerjob/war/:/usr/local/tomcat/webapps/
#      - /home/ubuntu/webimage/index.html:/var/www/html/index.html
    ports:
      - "81:8080"
docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                          NAMES
2cb36ee8c5ee        msridtomcat         "catalina.sh run"   58 seconds ago      Up 57 seconds       83/tcp, 0.0.0.0:81->8080/tcp   mcontainer

请看83/tcp? 它从哪里来?

docker inspect -- results in 
"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "397ab289e556f8ee4b92c47e806a11a1f76d53cb398bdd5701e10e20a3362882",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "8080/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "81"
                    }
                ],
                "83/tcp": null
            },

谢谢穆拉利

这个 tcp 83 是由于 Dockerfile 中的 Expose 83 造成的。 刚刚从 Dockerfile 中删除了 Expose,并通过 docker-compose yaml 暴露了端口。 一切运作良好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM