My docker container isn't starting on localhost (0.0.0.0) on Docker for Windows (Native using Hyper-V)

I’m following Digital Ocean’s tutorial on how to start a nginx docker container (Currently on Step 4). Currently this is their output:

$ docker run --name docker-nginx -p 80:80 -d nginx
d3ccb73a91985651ec61231bca9f9c716f0dec807e354a29eeef2144f883a01c

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                         NAMES
b91f3ce26553        nginx               "nginx -g 'daemon off"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 443/tcp   docker-nginx

But when I run it, this is my output (noticed the different IP of the container):

  • How to connect Docker Swarm to multiple consul servers for failover?
  • How to use docker-machine on a private server?
  • How to run webdriver tests on docker firefox-standalone-debug container instead of regular firefox browser
  • Is it possible to have Centralised Logging for ElasticBeanstalk Docker apps?
  • Extend docker postgres image to create extra database
  • Accessing Docker for Mac via Remote Access API
  • C:\>docker run --name docker-nginx -p 80:80 -d nginx
    d3ccb73a91985651ec61231bca9f9c716f0dec807e354a29eeef2144f883a01c
    
    C:\>docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
    d3ccb73a9198        nginx               "nginx -g 'daemon off"   14 hours ago        Up 2 seconds        10.0.75.2:80->80/tcp, 443/tcp   docker-nginx
    

    Why does this happen? And how can I get the same results as Digital Ocean’s? (Getting the server to start on localhost)


    Edit: I’m using Docker for windows (recently released) which apparently runs native using Hyper-V. My output for docker-machine ls is this:

    C:\>docker-machine ls
    NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS
    
    C:\>
    

  • docker stack deploy from private repo
  • Use node-sass with docker-compose
  • Docker Swarm: tcpdump service of another service
  • Cannot Access Docker Phpmyadmin via Port
  • How to avoid undesired “animated” console output on Jenkins
  • Install redmine plug-in using docker container
  • 2 Solutions collect form web for “My docker container isn't starting on localhost (0.0.0.0) on Docker for Windows (Native using Hyper-V)”

    But when I run it, this is my output (noticed the different IP of the
    container)

    Since this a Windows machine, I assume that you’re using Docker Toolbox Docker for Windows. 10.0.75.2 is the IP of the boot2docker virtual machine.

    If you are using Windows or Mac OS, you will need some form of virtualization in
    order to run Docker. The IP you just saw is the IP of that lightweight virtual machine.

    And how can I get the same results as Digital Ocean’s? (Getting the
    server to start on localhost)

    Use a Linux distribution! Also you can enable Expose container ports on localhost in Docker For Windows Settings:

    enter image description here

    Despite you created the containers in your local machine. These are actually running on a different machine (a virtual machine)

    First, check what is the IP of your docker machine (the virtual machine)

    $docker-machine ls
    NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
    default   *        virtualbox   Running   tcp://192.168.99.100  
    

    Then run curl command (or open a browser) to view the default web site on your nginx web server inside the container

    curl http://192.168.99.100:80
    
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.