{"id":24895082,"url":"https://github.com/machine-drivers/docker-machine-kvm","last_synced_at":"2025-08-02T02:12:01.501Z","repository":{"id":57586472,"uuid":"125781121","full_name":"machine-drivers/docker-machine-kvm","owner":"machine-drivers","description":"KVM driver for docker-machine","archived":false,"fork":false,"pushed_at":"2023-04-17T19:21:10.000Z","size":30,"stargazers_count":23,"open_issues_count":2,"forks_count":16,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-09T00:42:11.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/dhiltgen/docker-machine-kvm","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/machine-drivers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-19T00:34:00.000Z","updated_at":"2024-05-17T16:47:15.000Z","dependencies_parsed_at":"2024-06-19T02:57:56.058Z","dependency_job_id":"ad07b272-9e63-4fb8-93b5-d6f6f857b679","html_url":"https://github.com/machine-drivers/docker-machine-kvm","commit_stats":{"total_commits":26,"total_committers":14,"mean_commits":"1.8571428571428572","dds":0.5769230769230769,"last_synced_commit":"9638bbce64c6335132ded6c22a2e0843249b83e3"},"previous_names":["machine-drivers/docker-machine-driver-libvirt"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/machine-drivers/docker-machine-kvm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machine-drivers%2Fdocker-machine-kvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machine-drivers%2Fdocker-machine-kvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machine-drivers%2Fdocker-machine-kvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machine-drivers%2Fdocker-machine-kvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/machine-drivers","download_url":"https://codeload.github.com/machine-drivers/docker-machine-kvm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machine-drivers%2Fdocker-machine-kvm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268326739,"owners_count":24232496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-01T19:16:21.381Z","updated_at":"2025-08-02T02:12:01.448Z","avatar_url":"https://github.com/machine-drivers.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-machine-kvm\nKVM driver for docker-machine\n\nThis driver leverages the new [plugin architecture](https://github.com/docker/machine/issues/1626) being\ndeveloped for Docker Machine.\n\n# Quick start instructions\n\n* Install `libvirt` and `qemu-kvm` on your system (e.g., `sudo apt-get install libvirt-bin qemu-kvm`)\n    * Add yourself to the `libvirtd` group (may vary by linux distro) so you don't need to sudo\n* Install [docker-machine](https://github.com/docker/machine/releases)\n* Go to the\n  [releases](https://github.com/dhiltgen/docker-machine-kvm/releases)\n  page and download the docker-machine-driver-kvm binary, putting it\n  in your PATH.\n* You can now create virtual machines using this driver with\n  `docker-machine create -d kvm myengine0`.\n\n# Dependencies\n\nThis driver leverages [libvirt](http://libvirt.org/) and the [libvirt-go\nlibrary](https://github.com/libvirt/libvirt-go) to create and manage\nKVM based virtual machines.  It has been tested with Ubuntu 12.04 through 15.04\nand should work on most platforms with KVM/libvirt support.  If you run into\ncompatibility problems, please file an [issue](https://github.com/dhiltgen/docker-machine-kvm/issues).\n\nTypically you'll run `docker-machine` as yourself, so you'll want to\nfollow your distro specific instructions on allowing libvirt access\nfrom your account.  For most distro's, you accomplish this by adding\nyour account to the `libvirtd` group.\n\n\n# Capabilities\n\n## Images\nBy default `docker-machine-kvm` uses a [boot2docker.iso](https://github.com/boot2docker/boot2docker) as guest os for the kvm hypervisior. It's also possible to use every guest os image that is derived from [boot2docker.iso](https://github.com/boot2docker/boot2docker) as well.\nFor using another image use the `--kvm-boot2docker-url` parameter. \n\nCommunity Members did some tests and it works with [rancher/os](https://github.com/rancher/os) as guest os too.\n\n## Dual Network\n\n   * **eth1** - A host private network called **docker-machines** is automatically created to ensure we always have connectivity to the VMs.  The `docker-machine ip` command will always return this IP address which is only accessible from your local system.\n   * **eth0** - You can specify any libvirt named network.  If you don't specify one, the \"default\" named network will be used.\n        * If you have exotic networking topolgies (openvswitch, etc.), you can use `virsh edit mymachinename` after creation, modify the first network definition by hand, then reboot the VM for the changes to take effect.\n        * Typically this would be your \"public\" network accessible from external systems\n        * To retrieve the IP address of this network, you can run a command like the following:\n        ```bash\n        docker-machine ssh mymachinename \"ip -one -4 addr show dev eth0|cut -f7 -d' '\"\n        ```\n\n## Driver Parameters\n\nHere are all currently driver parameters listed that you can use.\n\n| Parameter     | Description| \n| ------------- | ------------- | \n| **--kvm-cpu-count**     | Sets the used CPU Cores for the KVM Machine. Defaults to `1` . | \n| **--kvm-disk-size**    | Sets the kvm machine Disk size in MB. Defaults to `20000` .      |  \n| **--kvm-memory** | Sets the Memory of the kvm machine in MB. Defaults to `1024`.      | \n| **--kvm-network** | Sets the Network of the kvm machinee which it should connect to. Defaults to `default`.      |   \n| **--kvm-boot2docker-url** | Sets the url from which host the image is loaded. By default it's not set.   |\n| **--kvm-cache-mode** | Sets the caching mode of the kvm machine. Defaults to `default`.   |    \n| **--kvm-io-mode-url** | Sets the disk io mode of the kvm machine. Defaults to `threads`.   |      \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachine-drivers%2Fdocker-machine-kvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachine-drivers%2Fdocker-machine-kvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachine-drivers%2Fdocker-machine-kvm/lists"}