diff --git a/CHANGELOG.md b/CHANGELOG.md index a173c1c..cfceaff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 1.2.0 (2015-10-26) + +- Switched to new base box version 1.8.3 + - Docker v1.8.3, Docker Compose v1.4.2 + - SFTP support (user: docker, password: tcuser or using vagrants insecure key) +- Added nfs2 synced folders option with optimized NFS settings (experimental and default) +- Switched to vhost-proxy [v1.1.0](https://github.com/blinkreaction/docker-nginx-proxy/releases/tag/v1.1.0) and dns-discovery [v1.0.0](https://github.com/blinkreaction/docker-dns-discovery/releases/tag/v1.0.0) container images +- Moved scripts to a subfolder +- Fixed Version requirements for Vagrant and Virtual Box + ## 1.1.1 (2015-10-01) - Fix path to VBoxManage on Windows diff --git a/README.md b/README.md index ccda5e4..0c6648b 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ The stock boot2docker currently mounts host volumes via the default VirtualBox G ## Prerequisites -1. [VirtualBox](https://www.virtualbox.org/) 1.7.3+ -2. [Vagrant](https://www.vagrantup.com/) 5.0+ +1. [VirtualBox](https://www.virtualbox.org/) 5.0+ +2. [Vagrant](https://www.vagrantup.com/) 1.7.3+ 3. [Babun](http://babun.github.io) - A Linux-type shell, **Windows only** Proceed to [Setup and usage](#setup) if you already have all prerequisites installed or prefer to install some/all manually. diff --git a/VERSION b/VERSION index 524cb55..26aaba0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.1 +1.2.0 diff --git a/Vagrantfile b/Vagrantfile index be4e066..cb52504 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -92,13 +92,13 @@ end ###################################################################### # Vagrant Box Configuration # -Vagrant.require_version ">= 1.6.3" +Vagrant.require_version ">= 1.7.3" Vagrant.configure("2") do |config| config.vm.define "boot2docker" config.vm.box = "blinkreaction/boot2docker" - config.vm.box_version = "1.8.2" + config.vm.box_version = "1.8.3" config.vm.box_check_update = true ## Network ## @@ -125,6 +125,13 @@ Vagrant.configure("2") do |config| mount_options: ["nolock", "vers=3", "tcp"] config.nfs.map_uid = Process.uid config.nfs.map_gid = Process.gid + # nfs2: better performance on Mac, experimental + elsif synced_folders['type'] == "nfs2" && !is_windows + config.vm.synced_folder vagrant_root, vagrant_mount_point, + type: "nfs", + mount_options: ["nolock", "noacl", "nocto", "noatime", "nodiratime", "vers=3", "tcp"] + config.nfs.map_uid = Process.uid + config.nfs.map_gid = Process.gid # smb: better performance on Windows. Requires Vagrant to be run with admin privileges. elsif synced_folders['type'] == "smb" && is_windows config.vm.synced_folder vagrant_root, vagrant_mount_point, @@ -225,26 +232,28 @@ Vagrant.configure("2") do |config| end # System-wide dnsmasq service for DNS discovery and name resolution + # Image: blinkreaction/dns-discovery v1.0.0 config.vm.provision "shell", run: "always", privileged: false do |s| s.inline = <<-SCRIPT echo "Starting system-wide DNS service... " docker rm -f dns > /dev/null 2>&1 || true docker run -d --name dns -p $1:53:53/udp -p 172.17.42.1:53:53/udp --cap-add=NET_ADMIN \ - -v /var/run/docker.sock:/var/run/docker.sock \ - blinkreaction/dns-discovery@sha256:4c0bc8f1abca904020459c6196cc547d0783d921abcf1495fdffe2e862dfdf86 > /dev/null + --dns 8.8.8.8 -v /var/run/docker.sock:/var/run/docker.sock \ + blinkreaction/dns-discovery@sha256:f1322ab6d5496c8587e59e47b0a8b1479a444098b40ddd598e85e9ab4ce146d8 > /dev/null SCRIPT s.args = "#{box_ip}" end # System-wide vhost-proxy service. # Containers must define a "VIRTUAL_HOST" environment variable to be recognized and routed by the vhost-proxy. + # Image: blinkreaction/nginx-proxy v1.1.0 if $vconfig['vhost_proxy'] config.vm.provision "shell", run: "always", privileged: false do |s| s.inline = <<-SCRIPT echo "Starting system-wide HTTP/HTTPS reverse proxy on $1... " docker rm -f vhost-proxy > /dev/null 2>&1 || true docker run -d --name vhost-proxy -p $1:80:80 -p $1:443:443 -v /var/run/docker.sock:/tmp/docker.sock \ - blinkreaction/nginx-proxy@sha256:04d1790726a252d6d2f89c5702533e174c284fd34dcb5599d6881da34354f30e > /dev/null + blinkreaction/nginx-proxy@sha256:1707c0fd2fa4f0e98a656f748a4edb8a04578e9dc63115acc23a05225f151e04 > /dev/null SCRIPT s.args = "#{box_ip}" end diff --git a/presetup-mac.sh b/scripts/presetup-mac.sh similarity index 96% rename from presetup-mac.sh rename to scripts/presetup-mac.sh index e9de2b7..065a056 100755 --- a/presetup-mac.sh +++ b/scripts/presetup-mac.sh @@ -1,7 +1,7 @@ #!/bin/bash -DOCKER_VERSION=1.8.1 -DOCKER_COMPOSE_VERSION=1.4.0 +DOCKER_VERSION=1.8.3 +DOCKER_COMPOSE_VERSION=1.4.2 # Console colors red='\033[0;31m' diff --git a/presetup-win.cmd b/scripts/presetup-win.cmd similarity index 100% rename from presetup-win.cmd rename to scripts/presetup-win.cmd diff --git a/presetup-win.sh b/scripts/presetup-win.sh similarity index 82% rename from presetup-win.sh rename to scripts/presetup-win.sh index 7995ba5..72f911c 100644 --- a/presetup-win.sh +++ b/scripts/presetup-win.sh @@ -1,7 +1,7 @@ #!/bin/bash -DOCKER_VERSION=1.8.1 -DOCKER_COMPOSE_VERSION=1.4.0 +DOCKER_VERSION=1.8.3 +DOCKER_COMPOSE_VERSION=1.4.2 # For testing if [ ! $B2D_BRANCH == "" ]; then @@ -11,8 +11,8 @@ else fi # Install prerequisites via choco (virtualbox and vagrant) -curl -L https://raw.githubusercontent.com/blinkreaction/boot2docker-vagrant/${B2D_BRANCH}/presetup-win.cmd -o $WINDIR/Temp/presetup-win.cmd -curl -L https://raw.githubusercontent.com/blinkreaction/boot2docker-vagrant/${B2D_BRANCH}/presetup-win.vbs -o $WINDIR/Temp/presetup-win.vbs +curl -L https://raw.githubusercontent.com/blinkreaction/boot2docker-vagrant/${B2D_BRANCH}/scripts/presetup-win.cmd -o $WINDIR/Temp/presetup-win.cmd +curl -L https://raw.githubusercontent.com/blinkreaction/boot2docker-vagrant/${B2D_BRANCH}/scripts/presetup-win.vbs -o $WINDIR/Temp/presetup-win.vbs echo "Setup needs administrator privileges to contiue..." cscript $WINDIR/Temp/presetup-win.vbs diff --git a/presetup-win.vbs b/scripts/presetup-win.vbs similarity index 100% rename from presetup-win.vbs rename to scripts/presetup-win.vbs diff --git a/setup.sh b/scripts/setup.sh similarity index 100% rename from setup.sh rename to scripts/setup.sh diff --git a/vagrant.yml b/vagrant.yml index 70d5b29..009fa3a 100644 --- a/vagrant.yml +++ b/vagrant.yml @@ -1,12 +1,13 @@ # Sync folders configuration synced_folders: # nfs: better performance on Mac, recommended. + # nfs2: optimized NFS settings, experimental. # smb: better performance on Windows. Requires Vagrant to be run with admin privileges. # smb2: experimental, does not require running vagrant as admin. # rsync: the best performance, cross-platform platform, one-way only. Run `vagrant rsync-auto` to start auto sync. # When using rsync sync type the "folders" list below is mandatory. # vboxfs (or leave empty): best compatibility and ease of setup, but poor performance. - type: 'nfs' + type: 'nfs2' # smb_user, smb_password - The username and password used for authentication to mount the SMB mount. # This is usually your Windows username and password, unless you created a dedicated user for vagrant. # If using the 'smb2' type above the user and share will be configured automatically.