connect to server runned in windows docker container - docker

I am a newbie with docker. I need to use it at windows 7*64 , via docker toolbox. I need to make a connection to server below:
Run the server:
docker run -p 4444:4444 mycontainerWithServer
After this i open new docker toolbox window and try to connect to localhost:4444. I get ConnectionRefused error.

Because you are using the Docker toolbox you don't access your containers on localhost. The toolbox uses 192.168.99.100 by default because it is running on a Linux VM. Try replacing localhost with the VM IP.

Related

Docker container deployed in Linux environment

This is what I'm trying to do. I have created a docker container and have it deployed in my Linux Putty environment. I am now trying to view the website I deployed on my Windows Chrome browser. When I try accessing localhost upon running the container, I am getting "This site can't be reached". Below is the command I used to run the container:
docker run -d --name testContainer -p 80:80 static-app:v1
Any advice on how I can access this would be helpful.
I am assuming these two words as
1- Linux putty environment: Linux VM running on windows( oracle etc..) you connected this through putty
2- website I deployed on my Windows Chrome browser: trying to access container through chrome as port is exposed
if above mentioned case is correct then:
port exposed is between host and container is 80:80, here host mean where your docker is running, in your case its Linux environment. you can not see that on windows chrome browser.
Specify if the situation is different.

Docker container ports are exposed on Windows but not Ubuntu

I'm developing an Ubuntu based docker image on a windows 10 machine with Docker Desktop. The image has a server app listening for HTTP traffic on port 5000. When I run the image locally on Windows using:
docker run -d -p 5000:5000 dockerImageName /opt/serverApp
Everything works fine, I can go to http://localhost:5000 and see a web interface.
But then I push the image to a repo in Azure then pull it back down onto a Ubuntu Azure VM and execute the same command, the container appears to start correctly but executing:
curl http://localhost:5000
returns:
curl: (7) Failed to connect to localhost port 5000: Connection refused
Not that it should matter but I've also allowed incoming traffic on port 5000 in the network security group the VM is attached to.
If I execute:
sudo lsof -i:5000
Nothing is returned.
Is this an Azure related issue? Are there differences between how a Linux image is run on Windows and a VM on Azure (on Windows Docker Desktop uses a Linux VM to run containers)?
Le sigh it was this:
Docker container will automatically stop after “docker run -d”
Annoying how the behavior changes between Windows and Ubuntu when running containers.

Howto access a service in a docker container from VM?

I have an Ubuntu host with a web app running inside a docker container.
The web app is accessible from Ubuntu PC via 172.19.0.XXX:8080.
Now I want to test how web app looks like in IE. For that I started VirtualBox with Win7.
How could I call web app from VM?
Already tried different VM network variants, such as default NAT with port forwarding; and bridge - without any luck
Thanks in advance!
You can map the ports between the docker container and the Ubuntu host when starting the container by using -p 8080:8080, then you should be able to connect from Ubuntu using localhost:8080
Once you do that, find the IP address of the Ubuntu host by running ifconfig and use that IP to connect from the Windows VM via http://<Ubuntu-ip>:8080

Unable to run docker project in localhost

I have installed a repo from docker and ran it using the following command,
docker run -d --name searx -p $PORT:8888 wonderfall/searx
The container was also sucessfully created but while accessing it in my browser i get the following error,
dail tcp[::1]:8888: connectex: No connection could be made because the target machine actively refused it.
Does anyone know why this error occurs? I use a windows10 system.
Just installed docker toolbox
That means you cannot use localhost directly without declaring in Virtual Box a port-forwarding rule.
First, test your service using the IP of your VM (see docker-machine ip default output)
http://<ip>:8888
Then, declare a port-forward rule:
either directly in your VirtualBox graphical interface: see "How do I configure docker compose to expose ports correctly?"
or with VBoxManage controlvm commands: see "Not able to access tomcat application on Docker VM with host(windows) IP while using docker toolbox"

docker running splash container but localhost does not load (windows 10)

I am following this tutorial to use splash to help with scraping webpages.I installed Docker toolbox and did these two steps:
$ docker pull scrapinghub/splash
$ docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash
I think it is running correctly, based on the prompted message in Docker window, which looks like this:
However, when I open the `localhost:8050' in a web browser, it says the localhost is not working.
What might have gone wrong in this case? Thanks!
You have mapped the port to your docker host (the VM), but you have not port-forwarded that same port to your actual "localhost" (your Windows host)
You need to declare that port-forwarding in the Network settings of your VM (for instance "default"), or with VBoxManage controlvm commands.
Then and only then could you access that port (used by your VM) from your Windows host (localhost).
That or you can access that same port using the IP address of your boot2docker VM: see docker-machine ls.
#user3768495, when you use http://192.168.99.100:8050/ , you are actually using the docker-machine ip and this ip would be available on your machine only and not on the network. To map it to localhost, you do need to port-forward the same port to your localhost. I was having the same issue and I detailed the process in below link.
https://stackoverflow.com/a/35737787/4820675

Resources