Access Docker Host Remotely
In this blog, we will share you how to access docker host remotely using docker client.
REQUIREMENTS
- Nano Server with Docker Installed
- Client Machine to access the docker host through PowerShell
DOCKER ENGINE OVERVIEW
The docker engine is powered by dockerd in both windows and Linux. Dockerd is for Docker Daemon. This service has an ability to interface with docker client. It has lots of start-up options to customize the docker client service. We can configure the start-up option manually or we can setup in a configuration file. To configure the remote access to docker host, we need to specify the IP and port number using the customize options.
For more information about the dockerd, please check this URL: https://docs.docker.com/engine/reference/commandline/dockerd/#windows-configuration-file
CONFIGURING FIREWALL
- We need to open a port a firewall on nano server (docker host). Execute the below command to open port 2375
netsh advfirewall firewall add rule name=”Docker Daemon” dir=in action=allow protocol=TCP localport=2375
CREATING DAEMON FILE
- Create a blank file named daemon.json under c:\programdata\docker\config folder using below command.
New-Item -Itemtype file c:\ProgramData\docker\config\daemon.json
- Add the host key into the file using the below command.
Add-Content ‘c:\ProgramData\docker\config\daemon.json’ ‘{ “hosts”: [“tcp://0.0.0.0:2375”, “npipe://”] }’
- To list the content from a file, use the below command.
Get-Content ‘C:\ProgramData\docker\config\daemon.json’
- Restart the Docker service using below command.
Restart-service docker
INSTALLING DOCKER ENGINE IN CLIENT MACHINE
- Execute the bunch of PowerShell scripts given below.
$package = “https://download.docker.com/components/engine/windows-server/cs-1.12/docker.zip”
Invoke-WebRequest $package -OutFile “$env:TEMP\docker.zip” -UseBasicParsing
Expand-Archive -Path “$env:TEMP\docker.zip” -DestinationPath $env:ProgramFiles
[Environment]::SetEnvironmentVariable(“path”,$env:Path + “;$($env:ProgramFiles)\Docker”, [EnvironmentVariableTarget]::Machine)
Above scripts will download the docker.zip and extract the files under program files folder. Also, it adds the environment variable for Docker folder.
- Now Docker folder will be available in C:\Program Files folder.
- Environment variable will also available for docker.
ACCESS DOCKER HOST REMOTELY
- Go to PowerShell and execute the below command to access the docker host remotely.
docker -H tcp://192.168.232.81:2375 version
The IP 192.168.232.81 belongs to nano server docker host. The version is a command to execute on the remote docker host server.
Thanks for visiting this blog. We hope this blog is useful for you to learn how to access the docker host remotely through PowerShell.
Loges