How to access host port from docker container

前端 未结 14 1748
南旧
南旧 2020-11-22 03:41

I have a docker container running jenkins. As part of the build process, I need to access a web server that is run locally on the host machine. Is there a way the host web s

14条回答
  •  臣服心动
    2020-11-22 04:02

    You can access the local webserver which is running in your host machine in two ways.

    1. Approach 1 with public IP

      Use host machine public IP address to access webserver in Jenkins docker container.

    2. Approach 2 with the host network

      Use "--net host" to add the Jenkins docker container on the host's network stack. Containers which are deployed on host's stack have entire access to the host interface. You can access local webserver in docker container with a private IP address of the host machine.

    NETWORK ID          NAME                      DRIVER              SCOPE
    b3554ea51ca3        bridge                    bridge              local
    2f0d6d6fdd88        host                      host                local
    b9c2a4bc23b2        none                      null                local
    

    Start a container with the host network Eg: docker run --net host -it ubuntu and run ifconfig to list all available network IP addresses which are reachable from docker container.

    Eg: I started a nginx server in my local host machine and I am able to access the nginx website URLs from Ubuntu docker container.

    docker run --net host -it ubuntu

    $ docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    a604f7af5e36        ubuntu              "/bin/bash"         22 seconds ago      Up 20 seconds                           ubuntu_server
    

    Accessing the Nginx web server (running in local host machine) from Ubuntu docker container with private network IP address.

    root@linuxkit-025000000001:/# curl 192.168.x.x -I
    HTTP/1.1 200 OK
    Server: nginx/1.15.10
    Date: Tue, 09 Apr 2019 05:12:12 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Tue, 26 Mar 2019 14:04:38 GMT
    Connection: keep-alive
    ETag: "5c9a3176-264"
    Accept-Ranges: bytes
    

提交回复
热议问题