8

I am trying to use the Docker Remote API on a Windows 10 host machine. I am using Chrome's Postman extension to see if I can get results from the docker remote api's endpoints. Here are the endpoints that I've tried:

GET http://192.168.99.100:4243/images/json

GET http://192.168.99.100:2376/images/json

Both returned Connection to server 192.168.99.100 failed (The server is not responding)

After a few searches I found out that the Docker Remote API is not enabled by default on Windows. Most of the guides are for Ubuntu but I have found this particular one for Windows.

These are the steps that I performed on my machine

  1. docker-machine ssh
  2. cd /var/lib/boot2docker
  3. sudo vi profile
  4. Change DOCKER_HOST='H tcp://0.0.0.2376' to DOCKER_HOST='H tcp://0.0.0.2375'
  5. change DOCKER_TLS=auto to DOCKER_TLS=no
  6. export DOCKER_HOST='-H tcp://0.0.0.2375'
  7. export DOCKER_TLS_VERIFY=0
  8. env | grep DOCKER
  9. docker-machine restart
  10. docker-machine env
  11. docker-machine regenerate-certs

After performing the steps above, I did try again the endpoints on Postman but I still get the same result.

Can you perhaps give a little help if I have missed a step? Or am I on track?

Also, to answer some of my queries.

  1. Is the docker remote api port for Windows 2375 and 4243 for Linux?
  2. Is DOCKER_HOST for Windows and DOCKER_OPTS for Linux?
Community
  • 1
  • 1
jmc
  • 1,649
  • 6
  • 26
  • 47

4 Answers4

9

Switch your docker to windows container

Got to C:\ProgramData\Docker\config in deamon.json file

add "hosts": ["tcp://0.0.0.0:2376", "npipe://"]

restart docker.

give command : docker -H tcp://0.0.0.0:2376 ps

ΩmegaMan
  • 29,542
  • 12
  • 100
  • 122
avinash dhoke
  • 124
  • 1
  • 5
0

The Remote API is now enabled by default on Windows (see ticket here).

It is reachable at http:\\localhost:2375 indeed (tested it).

Overdrivr
  • 6,296
  • 5
  • 44
  • 70
0

I faced the same issue and found a quick solution for this. Just open docker settings and enable "Expose daemon on TCP..." checkbox. Docker will start automatically and the problem should be solved.Please find the image attached for reference

0

using docker desktop, go to settings and check "Expose daemon on tcp://localhost:2375 without TLS"

vdtx
  • 1