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?

  • Docker Cannot link to a non running container
  • How to escape Fish shell variable to use as awk pattern?
  • Using Docker to create “restorable” MySQL database for UI testing
  • Access to mysql container from other container
  • AWS ECS for Glassfish HA architecture
  • Docker container crashes on start: java.net.NoRouteToHostException: No route to host
  • Mesosphere inter-service communication using Marathon
  • docker compose with build --pull option
  • Access Cassandra from separate docker container using docker-compose
  • Does docker storage driver matter for applications that don't write a lot?
  • x509: certificate signed by unknown authority when building docker image
  • How to connect my NodeJS with my Angular (in Nginx)
  • 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.