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
- docker-machine ssh
- cd /var/lib/boot2docker
- sudo vi profile
- Change
DOCKER_HOST='H tcp://0.0.0.2376'
toDOCKER_HOST='H tcp://0.0.0.2375'
- change
DOCKER_TLS=auto
toDOCKER_TLS=no
- export DOCKER_HOST='-H tcp://0.0.0.2375'
- export DOCKER_TLS_VERIFY=0
- env | grep DOCKER
- docker-machine restart
- docker-machine env
- 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.
- Is the docker remote api port for Windows 2375 and 4243 for Linux?
- Is DOCKER_HOST for Windows and DOCKER_OPTS for Linux?
Switch your docker to
windows container
Got to
C:\ProgramData\Docker\config
indeamon.json
fileadd
"hosts": ["tcp://0.0.0.0:2376", "npipe://"]
restart docker.
give command :
docker -H tcp://0.0.0.0:2376 ps
The Remote API is now enabled by default on Windows (see ticket here).
It is reachable at
http:\\localhost:2375
indeed (tested it).