How to enable the Docker Remote API on Windows

11,883

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

Share:
11,883
jmc
Author by

jmc

I could have a girlfriend but this stupid IDE won't write code on its own :(

Updated on July 07, 2022

Comments

  • jmc
    jmc almost 2 years

    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?
  • Vikash Gupta
    Vikash Gupta about 5 years
    On Windows Server 2016, replaced 2376 with 2375 and it worked!