Docker makes it incredibly easy to package and run applications in isolated containers. But what if you want to access your Dockerized application from another computer on your local network — for example, to test it from a mobile device or let a colleague see it in action?
By default, Docker containers are isolated from the outside world. To make your application accessible, you need to expose its internal port to your host machine and ensure that your host can be reached over the network.
In this article, we’ll show you how to do this step by step, using a Laravel Docker application as an example.
1. Understand Docker Port Mapping
When you run an application in Docker, it’s typically listening on an internal port (for example, Laravel often runs on port 8000 inside the container).
To make it accessible outside the container, Docker needs to map that internal port to a port on your host machine.
You can do this with the -p option in your Docker run command:
docker run -d -p 8080:8000 your-laravel-container
This tells Docker to forward:
- Port 8000 inside the container
 - To Port 8080 on your host machine
 
Once the container starts, you can visit http://localhost:8080 on the same host machine to access Laravel.
2. Find Your Host Machine’s IP Address
If you want to access the app from another device on the same network, you’ll need the local IP address of your host.
🔹 On Windows:
Open Command Prompt and run:
ipconfig
Look for your IPv4 Address under the network adapter that’s connected (usually something like 192.168.x.x).
🔹 On macOS or Linux:
Open Terminal and run:
ifconfig
or
ip addr show
Locate your active network interface (e.g., eth0, en0, or wlan0) and note the inet address (e.g., 192.168.1.25).
3. Test Local Access
Before you try from another computer, test it locally:
Open a web browser on the host machine and go to:
http://localhost:8080
If the Laravel welcome page loads, the container is running and your port mapping works.
4. Allow External Access Through the Firewall
Most operating systems block incoming connections by default.
You’ll need to ensure that your firewall allows inbound connections on the port you exposed (8080 in this example).
🔹 On Windows:
- Open Windows Defender Firewall → Advanced Settings
 - Select Inbound Rules → New Rule
 - Choose Port, then specify TCP 8080
 - Allow the connection and finish the wizard
 
🔹 On Linux (UFW example):
sudo ufw allow 8080/tcp
🔹 On macOS:
Go to System Settings → Network → Firewall Options, and allow incoming connections for Docker or the exposed port.
5. Access the Application from Another Computer
Now, from another computer or device on the same local network, open a browser and type:
http://<host-ip>:8080
For example:
http://192.168.1.25:8080
If everything is configured properly, the Laravel application should load on the remote device.
6. Using Docker Compose (Optional)
If you’re using Docker Compose, you can expose ports directly in your docker-compose.yml file:
version: '3'
services:
  laravel:
    build: .
    ports:
      - "8080:8000"
Then start your container using:
docker-compose up -d
The same access rules apply — visit http://<host-ip>:8080 from another device.
7. Troubleshooting Tips
If you still can’t access your application:
- ✅ Check container status:
docker psEnsure your container is running and the correct ports are exposed.
 - ✅ Check listening ports:
sudo netstat -tulpn | grep 8080or
ss -tulpn | grep 8080 - ✅ Ping the host IP from the remote device to ensure network connectivity.
 - ✅ Disable VPNs or network isolation features that might block local connections.
 - ✅ Avoid using 
127.0.0.1orlocalhostfrom another machine — always use the host’s LAN IP address. 
8. Exposing Docker to External Networks (Advanced)
If you need to make your Dockerized app accessible over the internet (not just your LAN), you’ll need to:
- Configure port forwarding on your router
 - Secure your app using HTTPS (via reverse proxy, e.g., Nginx + Let’s Encrypt)
 - Harden your Docker host with firewalls and authentication
 
For production environments, a reverse proxy (like Nginx Proxy Manager, Traefik, or Caddy) is strongly recommended.
Conclusion
Accessing a Docker application from another computer is straightforward once you understand how port mapping, firewall rules, and local IPs work together.
By following these steps:
- Expose the correct ports
 - Find your host IP
 - Allow external traffic
 - Use the right URL format
 
—you’ll be able to share and test your Dockerized Laravel or any other web app seamlessly across your network.


