docker (running in virtual box) expose port on host machine

I’m running docker in virtual box (docker machine) on a MAC server. I have some running containers that expose certain ports to the host machine, so I can access them via URL of the virtual machine + exposed port. But I’m not able to reach the exposed services from outside the host system, as the docker containers are sandboxed in their own virtual network I guess.

Is it possible to also expose the port on the host machine so people from outside can reach the web services running in docker inside my virtual machine?

  • How is a data-only container in Docker getting data?
  • Docker 1.13 stack deploy with global service malfunction (target replicas increase without limit)
  • Cassandra Nodes not linking in Docker
  • Docker - how to add new python dependencies to the existing docker image?
  • Environment variable and docker-compose
  • Docker in Development Environment
  • Translate docker run command to docker compose
  • Unable to back up persistent storage container for docker MariaDB container
  • Cannot get boot2docker port forwarding to work on docker mac os X
  • Is there a way to automatically activate a virtualenv as a docker entrypoint?
  • How to change the Docker image installation directory on Mac?
  • Docker different digest when push same images with different tags
  • One Solution collect form web for “docker (running in virtual box) expose port on host machine”

    There are 2 options:

    • Selecting Bridged Networking: in bridged mode, the virtual machine will appear as a separate device on your network and have its own IP address.
    • Port forwarding (NAT): This is only necessary when you don’t want to use the Bridge apdater

    I hope this guide can help you.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.