All Projects → swills → docker-machine-driver-bhyve

swills / docker-machine-driver-bhyve

Licence: other
Docker Machine driver for Bhyve

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to docker-machine-driver-bhyve

docker-machine-driver-vultr
Vultr Driver Plugin for Docker Machine
Stars: ✭ 20 (-25.93%)
Mutual labels:  docker-machine, docker-machine-driver
control-pane
ClonOS WEB control panel (CBSD WEB UI)
Stars: ✭ 112 (+314.81%)
Mutual labels:  freebsd, bhyve
ansible-role-bastille
An ansible role that helps configure a server as a BastilleBSD host
Stars: ✭ 15 (-44.44%)
Mutual labels:  freebsd
linux2free
Upgrade Linux to FreeBSD remotely via SSH
Stars: ✭ 18 (-33.33%)
Mutual labels:  freebsd
pfSense-pkg-WireGuard
This is a port of the original WireGuard UI bits as implemented by Netgate in pfSense 2.5.0 to a package suitable for rapid iteration and more frequent updating on future releases of pfSense.
Stars: ✭ 194 (+618.52%)
Mutual labels:  freebsd
deploy-vm
Libvirt wrapper to spawn VMs using cloud images
Stars: ✭ 56 (+107.41%)
Mutual labels:  freebsd
bbcp
BlackBox Cross-Platform (Windows, GNU/Linux, OpenBSD, FreeBSD)
Stars: ✭ 49 (+81.48%)
Mutual labels:  freebsd
potluck
This project contains the FreeBSD pot (jail) (pkg install pot) flavours which are regularly built with Jenkins and published on potluck.honeyguide.net.
Stars: ✭ 23 (-14.81%)
Mutual labels:  freebsd
packetdrill
packetdrill with UDPLite and SCTP support and bug fixes for FreeBSD
Stars: ✭ 37 (+37.04%)
Mutual labels:  freebsd
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (+40.74%)
Mutual labels:  freebsd
vulture-base
Vulture 4 base system and bootstrap scripts
Stars: ✭ 33 (+22.22%)
Mutual labels:  freebsd
terraform-provider-dockermachine
Docker machine provider for Terraform
Stars: ✭ 20 (-25.93%)
Mutual labels:  docker-machine
ioc
libioc command line tool for BSD jail management
Stars: ✭ 13 (-51.85%)
Mutual labels:  freebsd
docker-workshop
Workshop on Docker, Containers and Golang
Stars: ✭ 20 (-25.93%)
Mutual labels:  docker-machine
node-docker-share
Share local folders with a Docker Machine VM
Stars: ✭ 30 (+11.11%)
Mutual labels:  docker-machine
node-docker-machine
Programmatic API to Docker Machine.
Stars: ✭ 21 (-22.22%)
Mutual labels:  docker-machine
playing-docker-swarm-docker-machine
Scripts to help you to play with Docker Swarm and Docker Machine
Stars: ✭ 19 (-29.63%)
Mutual labels:  docker-machine
Awesome-BSD-Ports-Programs-And-Projects
A Repo Detailing BSD Ports, Programs, and Projects.
Stars: ✭ 46 (+70.37%)
Mutual labels:  freebsd
osutil
Go library to easily detect current operating system, current Linux distribution, macOS version and more...
Stars: ✭ 22 (-18.52%)
Mutual labels:  freebsd
data-processing-pipeline
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka and Cassandra
Stars: ✭ 79 (+192.59%)
Mutual labels:  docker-machine

Build Status Go Report Card

What is this

This is a Docker Machine Driver for Bhyve. It is heavily inspired by the xhyve driver, the generic driver and the VirtualBox driver. See also this issue.

Requirements

You must be running a version of FreeBSD which includes this commit. As of now (2019/08/16), this is only in FreeBSD-CURRENT.

How To Use It

One time setup

  • Install required packages:

    • sudo
    • grub2-bhyve
    • dnsmasq
  • User running docker-machine must have password-less sudo access to the following commands:

    • /sbin/ifconfig
    • /sbin/sysctl
    • /usr/bin/env
    • /usr/bin/fuser
    • /usr/local/sbin/dnsmasq
    • /usr/local/sbin/grub-bhyve
    • /usr/sbin/bhyve
    • /usr/sbin/bhyvectl
    • /usr/sbin/ngctl
echo 'jsmith ALL=(ALL) NOPASSWD: ALL' >> /usr/local/etc/sudoers
  • Add user to wheel group:
pw groupmod wheel -m jsmith
  • Add these lines to /etc/devfs.rules:
[system=10]
add path 'nmdm*' mode 0660
  • Set devfs_system_ruleset="system" in /etc/rc.conf and run service devfs restart

  • Add ng_ether, nmdm and vmm to kld_list in /etc/rc.conf, kldload ng_ether, kldload vmm, kldload nmdm.

Build

make

Setup

export MACHINE_DRIVER=bhyve
export PATH=${PATH}:${PWD}

Normal usage

docker-machine create
eval $(docker-machine env)
docker run --rm hello-world

Note about bridges

If the interface where the NAT IP is assigned is a member of another bridge, the NAT will fail

Note about nat

Local IPv4 breaks because all inbound traffic is forwarded to the docker-machine VM

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].