Skip to content

Instantly share code, notes, and snippets.

@EyMaddis
Forked from lavaxun/README.md
Last active January 3, 2017 11:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EyMaddis/00379727017205a47715ba5d00283366 to your computer and use it in GitHub Desktop.
Save EyMaddis/00379727017205a47715ba5d00283366 to your computer and use it in GitHub Desktop.
Rancher on docker-for-mac with xhyve

Install Docker for Mac (http://beta.docker.com)

Install docker-machine-driver-xhyve (https://github.com/zchee/docker-machine-driver-xhyve)

brew install docker-machine-driver-xhyve
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve

Deploy the latest release

docker run -d --privileged -p 8080:8080 --name=rancher-server rancher/server:latest

or a build-master

docker run -d --privileged -p 8080:8080 --name=build-master rancher/build-master:latest

Create some hosts (set the host name in both places at the end)

docker-machine create --driver=xhyve --xhyve-memory-size='512' --xhyve-boot-cmd='loglevel=3 user=docker console=ttyS0 console=tty0 noembed nomodeset norestore waitusb=10 base host=host1' host1
docker-machine create --driver=xhyve --xhyve-memory-size='512' --xhyve-boot-cmd='loglevel=3 user=docker console=ttyS0 console=tty0 noembed nomodeset norestore waitusb=10 base host=host2' host2
docker-machine create --driver=xhyve --xhyve-memory-size='512' --xhyve-boot-cmd='loglevel=3 user=docker console=ttyS0 console=tty0 noembed nomodeset norestore waitusb=10 base host=host3' host3

Go to http://localhost:8080 once server is up, Add Host

Set host-registration URL to 192.168.64.1:8080

Fill in the version and URL from the command the UI shows, but run this to register each host instead:

docker-machine ssh host1 sudo docker run -e CATTLE_AGENT_IP=$(ifconfig eth0 | grep "inet " | awk -F'[: ]+' '{ print $4 }') -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:##VERSION## ##URL##

If you have error on getting the host ip address using eth0 please ssh into the host then run ifconfig to get the eth0 interface then exit from the ssh and run the above command using use the real ip of the host instead of this $(ifconfig eth0 | grep "inet " | awk -F'[: ]+' '{ print $4 }')

Rinse, lather, repeat for host2...N

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment