Note!
The solution that involves modifying Network Adapter 1 is much easier to implement. It is the recommended solution.
The Background:
When Docker is installed a Virtual Machine (VM) known as "default" is created inside VirtualBox. Within VirtualBox Docker sets a network configuration that allows the host computer (Computer A) to access containers running on "default" via the docker-machine ip. But Computer B cannot access the same containers via the docker-machine ip.
The Basic Process:
- Adjust Settings of the VM "default" via Oracle's VM VirtualBox Manager to form a Bridged Network.
- Start the "default" VM.
- Find the Bridged Network IP (BN-IP) address of the "default" VM.
- Start the Odoo container.
- Enter the BN-IP address plus Odoo's port (ex. 192.168.1.93:8069) into Computer B's web browser.
- Enjoy (unless something goes wrong and when doesn't it go wrong?).
Adjust Settings of the VM "default"
- Open the VirtualBox GUI.
- Look at the list of VMs on the left side of the GUI.
- Click "default" (or the VM you'd like to modify)
- Click the "Settings" icon (gear object)
Follow the screen shot. Note: If using an ethernet cable to connect with the LAN choose en0 rather than en1. MAC Address was removed for the screen shot. It should autofill.
Start the "default" VM
For Mac it's easiest to start the "default" VM by clicking on the Docker QuickStart Terminal icon.
After a wait of a minute or two you'll be presented with a splash screen that includes the "default" IP. This is NOT the BN-IP you're looking for.
Find the BN-IP address of the "default" VM
This is the part that's the key and ground me down for hours. Fortunately good network discovery instructions exist. Run the instructions in the Docker Terminal and an address for "default.YourLANDomain" should turn up. It'll look something like:
default.ripcord.lan (192.168.1.93) at x:x:xx:xx:xx:xx on en1 ifscope [ethernet]
Notice the "default" part of the above address. That's the name of the Docker VM. Handy for human identification purposes.
If the above doesn't work for finding the BN-IP for the "default" VM you may have luck looking at what your router is seeing (see example below). Notice that "jakes-macbook" has a "2" annotation near the device icon. That means there are two clients associated with the icon. 192.168.1.24 is not the BN-IP for the "default" VM. The IP address will switch back and forth (at odd times). The other address, 192.168.1.93, is the BN-IP for the "default" VM.
The Rest of the Never-ending Story
Fire up the Odoo container then access it with Computer B at BN-IP address 192.168.1.93:8069 (for example). Great SUCCESS! Hopefully....
Troubleshooting
Use ping to try and figure out if the BN-IP for the "default" VM is active and go from there to make this method work. For a cleaner solution see the method regarding modifying Network Adapter 1. It is a much easier method to implement.