mitchellh / boot2docker-vagrant-box

Packer scripts to build a Vagrant-compatible boot2docker box.
424 stars 183 forks source link

How to upgrade? #46

Open codewisp opened 10 years ago

codewisp commented 10 years ago

With Docker's script, it's boot2docker stop — boot2docker download — boot2docker start. It says that the VM's hard drive isn't affected. What's the way to do this with Vagrant? Vagrant requires destroying the image in order to change the underlying image, no?

Ref: http://docs.docker.io/installation/mac/#upgrading-to-a-newer-release-of-boot2docker

dduportal commented 10 years ago

With the VM running :

vagrant box update
vagrant box reload

seems to work and maintain persisted things.

johnjelinek commented 10 years ago

@dduportal Can you elaborate? I have a docker-proxy vagrantfile in my project that does some additional port forwarding. Example:

Vagrant.configure("2") do |config|
  config.vm.box = "mitchellh/boot2docker"

  config.vm.provider "virtualbox" do |v|
    v.check_guest_additions = false
    v.functional_vboxsf     = false
    v.memory = 2048
    v.cpus = 2
  end

  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "forwarded_port", guest: 2003, host: 2003
  config.vm.network "forwarded_port", guest: 8125, host: 8125

  # b2d doesn't support NFS
  config.nfs.functional = false
end

How would I upgrade this box to b2d v0.9.1? Currently my OSX docker client is failing with Error: client and server don't have same version (client : 1.11, server: 1.10).

johnjelinek commented 10 years ago

I tried to update using your instructions above:

$ vagrant box update
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.1
==> default: Checking for updates to 'mitchellh/boot2docker'
    default: Latest installed version: 0.8.0
    default: Version constraints:
    default: Provider: virtualbox
==> default: Box 'mitchellh/boot2docker' (v0.8.0) is running the latest version.
johnjelinek commented 10 years ago

Confirmed, I'm still getting b2d v0.8.0:

$ vagrant ssh
                        ##        .
                  ## ## ##       ==
               ## ## ## ##      ===
           /""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
           \______ o          __/
             \    \        __/
              \____\______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
boot2docker: 0.8.0