A host in docker can be:
This page is about the machine, to see the network, see the page Docker - Host Network.
An host (or machine) is:
The host operating system is boot2docker.
docker-machine env
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\gerard\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('"C:\DockerToolbox\docker-machine.exe" env') DO @%i
docker-machine env --shell=bash
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\gerard\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
# Run this command to configure your shell:
# eval $("C:\DockerToolbox\docker-machine.exe" env --shell=bash)
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Timeout
where:
The driver indicate the provider on which to create the machine (ie the virtual engine).
Example:
See the Full List
You can register an already existing docker host by passing the daemon url.
docker-machine create --driver none --url=tcp://50.134.234.20:2376 custombox
docker-machine ls
NAME ACTIVE DRIVER STATE URL
custombox * none Running tcp://50.134.234.20:2376
The environment variable DOCKER_MACHINE_NAME has the name of the host machine.
By default, you may find Moby because docker-compose comes from the Moby Project. This is the name that we will find in the host file (/etc/host) in the docker-compose service.
How to find your host name:
$ echo $DOCKER_MACHINE_NAME
default
Three ways to find the IP dependent of your configuration
On windows, you can use the name host.docker.internal to reach the host.
If you are using a NAT, to determine the Docker Windows host IP interface (By default, this is the interface named vEthernet (DockerNAT) on the IP 10.0.75.1)
netsh interface ip show addresses
# and to filter for one interface
netsh interface ip show addresses "vEthernet (DockerNAT)"
Configuration for interface "vEthernet (DockerNAT)"
DHCP enabled: No
IP Address: 10.0.75.1
Subnet Prefix: 10.0.75.0/24 (mask 255.255.255.0)
InterfaceMetric: 15
docker-machine ip default
192.168.99.100
The DOCKER_HOST environment variable contains also the IP adress of the host
This IP is assigned by the docker-machine create subcommand.
docker info
Containers: 35
Running: 1
Paused: 0
Stopped: 34
Images: 45
Server Version: 1.12.3
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 186
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host null overlay
Log:
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary:
containerd version:
runc version:
init version:
Security Options:
seccomp
Kernel Version: 4.4.27-boot2docker
Operating System: Boot2Docker 1.12.3 (TCL 7.2); HEAD : 7fc7575 - Thu Oct 27 17:23:17 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.79GiB
Name: default
ID: 6CCC:JOTU:XXK3:ZJV6:7QTA:Y5LZ:EUAM:D3VM:XTVA:NQOY:5M2Z:KSC5
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 23
Goroutines: 41
System Time: 2017-10-24T15:05:24.245401217Z
EventsListeners: 0
Registry: https://index.docker.io/v1/
Labels:
provider=virtualbox
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
where you can see:
Changes outside of the /var/lib/docker and /var/lib/boot2docker directories will be lost after powering down or restarting the host.