2017 © Pedro Peláez
 

project docker-hostmanager

Update /etc/hosts to access running containers

image

iamluc/docker-hostmanager

Update /etc/hosts to access running containers

  • Tuesday, June 19, 2018
  • by iamluc
  • Repository
  • 6 Watchers
  • 72 Stars
  • 29 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 15 Forks
  • 7 Open issues
  • 17 Versions
  • 0 % Grown

The README.md

docker-hostmanager

ABOUT

Update automatically your /etc/hosts to access running containers. Inspired by vagrant-hostmanager., (*1)

Project homepage: https://github.com/iamluc/docker-hostmanager, (*2)

USAGE

Linux

The easiest way is to use the docker image, (*3)

$ docker run -d --name docker-hostmanager --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /etc/hosts:/hosts iamluc/docker-hostmanager

Note: the --restart=always option will make the container start automatically with your computer (recommended)., (*4)

Mac OS

Download the PHAR executable here : https://github.com/iamluc/docker-hostmanager/releases, (*5)

And then run it:, (*6)

$ sudo php docker-hostmanager.phar synchronize-hosts

Note: We run the command as root as we need the permission to write file /etc/hosts. If you don't want to run the command as root, grant the correct permission to you user., (*7)

Before running the command, don't forget to export your docker environment variables. i.e., (*8)

$ eval $(docker-machine env mybox)

Also, you should add a route to access containers inside your VM., (*9)

$ sudo route -n add 172.0.0.0/8 $(docker-machine ip $(docker-machine active))

Windows

If the host, dont use Docker ToolBox or not a Windows 10 PRO, then needs to mount the /c/Windows folder onto VirtualBox., (*10)

$ docker run -d --name docker-hostmanager --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /c/Windows/System32/drivers/etc/hosts:/hosts iamluc/docker-hostmanager

After run the container we need to add a route to access container subnets., (*11)

$ route /P add 172.17.0.0/12 192.168.99.100

CONFIGURATION

With networks

When a container belongs to at least one network (typically when using a docker-compose.yml file in version >= 2), the name defined to access the container is CONTAINER_NAME.CONTAINER_NETWORK. It works also with the alias defined for the network., (*12)

As a container can belongs to several networks at the same time, and thanks to alias, you can define how you want to access your container., (*13)

Example 1 (default network):, (*14)

version: '2'

services:
    web:
        image: iamluc/symfony
        volumes:
            - .:/var/www/html

The container web will be accessible with web.myapp_default (if the docker-compose project name is myapp), (*15)

Example 2 (custom network name and alias):, (*16)

version: '3.5'

networks:
    default:
        name: myapp

services:
    web:
        image: iamluc/symfony
        volumes:
            - .:/var/www/html

    mysql:
        image: mysql
        networks:
            default:
                aliases:
                    - bdd

The web container will be accessible with web.myapp. The mysql container will be accessible with mysql.myapp or bdd.myapp, (*17)

Without networks

When a container has no defined network (only the default "bridge" one), it is accessible by its container name, concatened with the defined TLD (.docker by default). It is the case when you run a single container with the docker command or when you use a docker-compose.yml file in version 1., (*18)

The DOMAIN_NAME environment variable lets you define additional hosts for your container. e.g.:, (*19)

$ docker run -d -e DOMAIN_NAME=test.com,www.test.com my_image

Tests

To run test, execute the following command : vendor/bin/phpunit, (*20)

LICENSE

MIT, (*21)

The Versions

19/06 2018

dev-master

9999999-dev

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

19/06 2018

dev-update-readme

dev-update-readme

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

08/05 2018

dev-develop

dev-develop

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

30/07 2016

v0.4.0

0.4.0.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

26/07 2016

dev-compat-docker-1.12

dev-compat-docker-1.12

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

08/06 2016

v0.3.3

0.3.3.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

24/04 2016

v0.3.2

0.3.2.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

24/04 2016

v0.3.1

0.3.1.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

24/04 2016

v0.3.0

0.3.0.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker hosts

21/03 2016

dev-networks

dev-networks

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

12/01 2016

dev-feature/install

dev-feature/install

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

07/01 2016

v0.2.0

0.2.0.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

07/01 2016

v0.2.0-beta2

0.2.0.0-beta2

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

05/01 2016

dev-feature/docker-machine

dev-feature/docker-machine

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

05/01 2016

dev-feature/refacto

dev-feature/refacto

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

05/01 2016

v0.2.0-beta1

0.2.0.0-beta1

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Luc Vieillescazes

docker registry hosts

17/12 2015

v0.1.0

0.1.0.0

Update /etc/hosts to access running containers

  Sources   Download

MIT

The Requires

 

by Luc Vieillescazes

docker registry hosts