v1.1.0
This commit is contained in:
parent
156bc015c8
commit
3b45b92d1a
4 changed files with 43 additions and 23 deletions
|
@ -1,4 +1,4 @@
|
|||
## [1.1.0](https://github.com/fgrehm/vagrant-lxc/compare/v1.0.1...master) (unreleased)
|
||||
## [1.1.0](https://github.com/fgrehm/vagrant-lxc/compare/v1.0.1...1.1.0) (Jan 14, 2015)
|
||||
|
||||
BACKWARDS INCOMPATIBILITIES:
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ GIT
|
|||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
vagrant-lxc (1.0.1)
|
||||
vagrant-lxc (1.1.0)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
|
|
60
README.md
60
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
[![Build Status](https://travis-ci.org/fgrehm/vagrant-lxc.png?branch=master)](https://travis-ci.org/fgrehm/vagrant-lxc) [![Gem Version](https://badge.fury.io/rb/vagrant-lxc.png)](http://badge.fury.io/rb/vagrant-lxc) [![Code Climate](https://codeclimate.com/github/fgrehm/vagrant-lxc.png)](https://codeclimate.com/github/fgrehm/vagrant-lxc) [![Coverage Status](https://coveralls.io/repos/fgrehm/vagrant-lxc/badge.png?branch=master)](https://coveralls.io/r/fgrehm/vagrant-lxc) [![Gittip](http://img.shields.io/gittip/fgrehm.svg)](https://www.gittip.com/fgrehm/) [![Gitter chat](https://badges.gitter.im/fgrehm/vagrant-lxc.png)](https://gitter.im/fgrehm/vagrant-lxc)
|
||||
|
||||
[LXC](http://lxc.sourceforge.net/) provider for [Vagrant](http://www.vagrantup.com/) 1.1+
|
||||
[LXC](http://lxc.sourceforge.net/) provider for [Vagrant](http://www.vagrantup.com/) 1.6+
|
||||
|
||||
This is a Vagrant plugin that allows it to control and provision Linux Containers
|
||||
as an alternative to the built in VirtualBox provider for Linux hosts. Check out
|
||||
|
@ -14,10 +14,11 @@ to see it in action.
|
|||
|
||||
* Provides the same workflow as the Vagrant VirtualBox provider
|
||||
* Port forwarding via [`redir`](http://linux.die.net/man/1/redir)
|
||||
* Private networking via [`pipework`](https://github.com/jpetazzo/pipework)
|
||||
|
||||
## Requirements
|
||||
|
||||
* [Vagrant 1.1+](http://www.vagrantup.com/downloads.html)
|
||||
* [Vagrant 1.5+](http://www.vagrantup.com/downloads.html) (tested with 1.7.2)
|
||||
* lxc 0.7.5+
|
||||
* `redir` (if you are planning to use port forwarding)
|
||||
* `brctl` (if you are planning to use private networks, on Ubuntu this means `apt-get install bridge-utils`)
|
||||
|
@ -25,18 +26,14 @@ to see it in action.
|
|||
|
||||
The plugin is known to work better and pretty much out of the box on Ubuntu 14.04+
|
||||
hosts and installing the dependencies on it basically means a `apt-get install lxc lxc-templates cgroup-lite redir`
|
||||
and a `apt-get update && apt-get dist-upgrade` to upgrade the kernel. For Debian
|
||||
hosts you'll need to follow the instructions described on the [Wiki](https://github.com/fgrehm/vagrant-lxc/wiki/Usage-on-debian-hosts)
|
||||
and old lxc versions (like 0.7.5 shipped with Ubuntu 12.04 by default) might require
|
||||
[additional configurations to work](#backingstore-options).
|
||||
(older LXC versions like 0.7.5 shipped with Ubuntu 12.04 by default might require
|
||||
[additional configurations to work](#backingstore-options)). For setting up other
|
||||
types of hosts please have a look at the [Wiki](https://github.com/fgrehm/vagrant-lxc/wiki).
|
||||
|
||||
If you are on a Mac or Windows machine, you might want to have a look at [this](http://the.taoofmac.com/space/HOWTO/Vagrant)
|
||||
blog post for some ideas on how to set things up or check out [this other repo](https://github.com/fgrehm/vagrant-lxc-vbox-hosts)
|
||||
for a set of Vagrant VirtualBox machines ready for vagrant-lxc usage.
|
||||
|
||||
**NOTE: Some users have been experiencing networking issues and right now you might need to
|
||||
disable checksum offloading as described on [this comment](https://github.com/fgrehm/vagrant-lxc/issues/153#issuecomment-26441273)**
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -52,23 +49,21 @@ vagrant init fgrehm/precise64-lxc
|
|||
vagrant up --provider=lxc
|
||||
```
|
||||
|
||||
_Set the `VAGRANT_DEFAULT_PROVIDER` environmental variable to `lxc` in order to
|
||||
avoid typing `--provider=lxc` all the time._
|
||||
|
||||
_More information about skipping the `--provider` argument can be found at the
|
||||
"DEFAULT PROVIDER" section of [Vagrant docs](https://docs.vagrantup.com/v2/providers/basic_usage.html)_
|
||||
|
||||
## Base boxes
|
||||
|
||||
Base boxes can be found on [VagrantCloud](https://vagrantcloud.com/search?provider=lxc)
|
||||
Base boxes can be found on [Atlas](https://atlas.hashicorp.com/boxes/search?provider=lxc)
|
||||
and some scripts to build your own are available at [fgrehm/vagrant-lxc-base-boxes](https://github.com/fgrehm/vagrant-lxc-base-boxes).
|
||||
|
||||
If you want to build your own boxes, please have a look at [`BOXES.md`](https://github.com/fgrehm/vagrant-lxc/tree/master/BOXES.md)
|
||||
for more information.
|
||||
|
||||
|
||||
## Advanced configuration
|
||||
|
||||
If you want, you can modify container configurations from within your Vagrantfile
|
||||
using the [provider block](http://docs.vagrantup.com/v2/providers/configuration.html):
|
||||
You can modify container configurations from within your Vagrantfile using the
|
||||
[provider block](http://docs.vagrantup.com/v2/providers/configuration.html):
|
||||
|
||||
```ruby
|
||||
Vagrant.configure("2") do |config|
|
||||
|
@ -86,6 +81,28 @@ prior to starting it.
|
|||
|
||||
For other configuration options, please check the [lxc.conf manpages](http://manpages.ubuntu.com/manpages/precise/man5/lxc.conf.5.html).
|
||||
|
||||
### Private Networks [EXPERIMENTAL]
|
||||
|
||||
Starting with vagrant-lxc 1.1.0, there is some rudimentary support for configuring
|
||||
[Private Networks](https://docs.vagrantup.com/v2/networking/private_network.html)
|
||||
by leveraging the [pipework](https://github.com/jpetazzo/pipework) project.
|
||||
|
||||
On its current state, there is a requirement for setting the bridge name that
|
||||
will be created and will allow your machine to comunicate with the container
|
||||
|
||||
For example:
|
||||
|
||||
```ruby
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.network "private_network", ip: "192.168.2.100", lxc__bridge_name: 'vlxcbr1'
|
||||
end
|
||||
```
|
||||
|
||||
Will create a new `veth` device for the container and will set up (or reuse)
|
||||
a `vlxcbr1` bridge between your machine and the `veth` device. Once the last
|
||||
vagrant-lxc container attached to the bridge gets `vagrant halt`ed, the plugin
|
||||
will delete the bridge.
|
||||
|
||||
### Container naming
|
||||
|
||||
By default vagrant-lxc will attempt to generate a unique container name
|
||||
|
@ -103,6 +120,9 @@ Vagrant.configure("2") do |config|
|
|||
end
|
||||
```
|
||||
|
||||
_Please note that there is a 64 chars limit and the container name will be
|
||||
trimmed down to that to ensure we can always bring the container up.
|
||||
|
||||
### Backingstore options
|
||||
|
||||
Support for setting `lxc-create`'s backingstore option (`-B` and related) can be
|
||||
|
@ -133,12 +153,12 @@ Vagrant.configure("2") do |config|
|
|||
end
|
||||
```
|
||||
|
||||
### Avoiding `sudo` passwords
|
||||
## Avoiding `sudo` passwords
|
||||
|
||||
This plugin requires **a lot** of `sudo`ing since [user namespaces](https://wiki.ubuntu.com/UserNamespace)
|
||||
are not supported on mainstream kernels. To work around that, you can use the
|
||||
`vagrant lxc sudoers` command which will create a file under `/etc/sudoers.d/vagrant-lxc-<VERSION>`
|
||||
whitelisting all commands required by `vagrant-lxc` to run.
|
||||
is not supported yet. To work around that, you can use the `vagrant lxc sudoers`
|
||||
command which will create a file under `/etc/sudoers.d/vagrant-lxc` whitelisting
|
||||
all commands required by `vagrant-lxc` to run.
|
||||
|
||||
If you are interested on what will be generated by that command, please check
|
||||
[this code](lib/vagrant-lxc/command/sudoers.rb).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
module Vagrant
|
||||
module LXC
|
||||
VERSION = "1.0.1"
|
||||
VERSION = "1.1.0"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue