Rancher Machine, a fork of Docker Machine
Machine lets you create Docker hosts on your computer, on cloud providers, and inside your own data center. It creates servers, installs Docker on them, then configures the Docker client to talk to them.
The original full Docker Machine documentation is available here.
This project is intended to be embedded and executed by the full Rancher product and the stand alone cli functionality will remain but the human use of it will not be the primary focus as we will expect inputs provided by other things like Terraform or UIs.
Cli binaries can be found in our Releases Pages
For historical context you can read the Docker Machine Issues but all new issues created for Rancher Machine will need to be created in Rancher
In addition to the core driver plugins bundled alongside Rancher Machine, users can make and distribute their own plugin for any virtualization technology or cloud provider. To browse the list of known Rancher Machine plugins, please see this document in our docs repo.
masteris the primary development branch and always contains the latest changes.- Tags from
masterare consumed by Rancher'smainbranch. - Each Rancher release line has a corresponding
release/vX.Ybranch, created frommaster. - Release branches only receive bug fixes and security patches.
- Release branch tags increment only the patch suffix (
.x).- For example, in the
release/v2.14branch:v0.15.0-rancher142.2,v0.15.0-rancher142.3,v0.15.0-rancher142.4
- For example, in the
- Release candidates (RCs) may also be created from release branches before a stable release.
- Release candidates (RCs) tag format is
vX.Y.Z-rancherN-rc.MwhereMis incremented for each new RC.
| Machine Branch | Rancher Release Line | Tag Format |
|---|---|---|
master |
main |
vX.Y.Z-rancherN |
release/v2.15 |
v2.15 |
v0.15.0-rancher145.x |
release/v2.14 |
v2.14 |
v0.15.0-rancher142.x |
release/v2.13 |
v2.13 |
v0.15.0-rancher137.x |
release/v2.12 |
v2.12 |
v0.15.0-rancher133.x |
The Daily Tag workflow runs daily to create RC tags from master and the
configured release branches.
- If a configured branch has changed since its latest matching tag, it creates the next RC tag.
- Otherwise, no tag is created.
- On
master, tags usevX.Y.Z-rancherNand RCs start atvX.Y.Z-rancher(N+1)-rc.0. - On release branches, tags use the branch's dotted tag series from the table above
and increment the dotted suffix before adding
-rc.0. - Stable releases are still created manually.
-
Prerequisite:
- Ensure all release changes are already merged into the
masterbranch before creating a tag. This process creates the tag from the latestmastercommit.
- Ensure all release changes are already merged into the
-
Prepare
masterand remote:-
Choose your release remote (replace
<remote>):git fetch <remote> --tagsgit checkout mastergit pull --ff-only <remote> master
-
-
Verify the latest tag (locally):
git describe --tags --abbrev=0
-
Create tag (from latest
master):git tag v0.15.0-rancher<NEW-VERSION>
-
Push the tag to your remote:
- Push single tag:
git push <remote> v0.15.0-rancher<NEW-VERSION>
- Push single tag:
-
Verify the tag is on the remote:
git ls-remote --tags <remote> | grep v0.15.0-rancher<NEW-VERSION>