Skip to main content

Accessing a Docker container running in a Docker-Machine on localhost

On Linux you can access your running Docker container on localhost or remotely by publishing the desired port.

On macOS it will only give you access to the Docker container from the Docker-Machine it is running on, i.e. from docker-machine ip <machine_name>. To access it on localhost, you can use ssh port forwarding:

docker-machine ssh <machine_name> -fNTL <local_port>:localhost:<machine_port>

You can now access your Docker container on localhost:<local_port>.


Bonus: Accessing your Docker container from a remote computer.

By default, with ssh -L, the local port is bound for local use only. You can use the bind _address option to make your Docker container available publicly:

docker-machine ssh <machine_name> -fNTL \*:<local_port>:<localhost>:<machine_port>

You can now access your Docker container on <your_ip>:<local_port>.

Comments

  1. Well that's because docker-machine is a virtual machine running on OS-X... you'd better maintain your own Virtual Box image of Linux as a docker host IMO. This way you control the virtual network more easily among other things.

    ReplyDelete
    Replies
    1. Docker-Machine creates Linux images on VirtualBox for you. Then you can tweak their network config from VirtualBox if you want. But with this little trick, you can just ignore that this virtual Linux is there.

      Delete

Post a Comment

Popular posts from this blog

IntelliJ IDEA not starting: Initial heap size set to a larger value than the maximum heap size

IntelliJ IDEA didn't want to start this morning. Got the following error when trying to start it from a shell: Error occurred during initialization of VM Initial heap size set to a larger value than the maximum heap size What happened is that IntelliJ IDEA loaded the JVM Options from the new custom vmoptions file in the config directory. On Windows: %APPDATA%\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.vmoptions On macOs: ~/Library/Application Support/JetBrains/IntelliJIdea2020.1/idea.vmoptions This file was not updated properly when I updated IntellIJ IDEA. It contained: -Xms4g -Xmx2048m Fixed the issue by editing this file: -Xms4g -Xmx4g Source: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360004701620-idea-vmoptions-not-used-by-default  

VSCode in the Browser: Coder vs Gitpod vs Codespaces

Coder SaaS doesn't seem to be for individuals → "Request Demo". But they have a Setup Guide if you want to give it a try. I didn't as I just want SaaS. N.B.: Differences compared to VSCode? TL;DR: Some extensions might be missing. Gitpod Go to https://gitpod.io/#/https://github.com/<your_repository> and login with your GitHub account. Done! Also works with GitLab. Based on Eclipse Theia which is based on Visual Studio Code . Same as Coder. Some extensions might be missing. Free tier gives you enough to give it a try: 50 hours / months Public Repos Private Repos (30-Day Trial) Codespaces (Preview) Slower setup compared with Gitpod: Register to Microsoft Azure Create a Billing Plan. Timed out the first time Create Codespace Done! Full-fledged Visual Studio Code in the Browser! Freebies : 12 months of popular free services £150 credit to explore Azure for 30 days Azure free account FAQ Pricing. Conclusion I'll try both Gitpod and Codespaces in the upcoming w...