diff --git a/.gitignore b/.gitignore index 35b8b40d5e..82ae9eeae3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -DockerToolbox.pkg +DockerToolbox*.pkg windows/Output/** windows/bundle/** site/public diff --git a/README.md b/README.md index bb1239ca9f..606ce65a6c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ -# Docker Toolbox +[![docker toolbox logo](https://cloud.githubusercontent.com/assets/251292/8687428/fd6ed9f0-2a44-11e5-9424-a3f1445e4845.png)](https://toolbox.docker.com) + +The Docker Toolbox installs everything you need to get started with +Docker on Mac OS X and Windows, including: + +- Docker Client +- Docker Machine +- Docker Compose +- Kitematic (Beta) +- VirtualBox + +## Installation and documentation + +Full documentation [is available +here](https://docs.docker.com/installation/mac/). -![illustration-website copy](https://cloud.githubusercontent.com/assets/251292/8635484/dea7d166-27d8-11e5-93f9-76d20b2fa80e.png) diff --git a/osx/Dockerfile b/osx/Dockerfile index b3b7a727e5..14e3949f59 100644 --- a/osx/Dockerfile +++ b/osx/Dockerfile @@ -26,10 +26,10 @@ RUN curl -fsSL -o /vbox.dmg http://download.virtualbox.org/virtualbox/$VBOX_VERS # Download the Docker parts -ENV DOCKER_VERSION 1.7.0 +ENV DOCKER_VERSION 1.7.1 RUN curl -fsSL -o /docker.tgz https://get.docker.com/builds/Darwin/x86_64/docker-$DOCKER_VERSION.tgz -ENV DOCKER_MACHINE_VERSION 0.3.0 +ENV DOCKER_MACHINE_VERSION 0.3.1-rc1 RUN curl -fsSL -o /docker-machine https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION/docker-machine_darwin-amd64 RUN chmod +x /docker-machine @@ -80,8 +80,6 @@ RUN cd /mpkg/docker.pkg && \ -e "s/%DOCKER_NUMBER_OF_FILES%/`find . | wc -l`/g" \ -e "s/%DOCKER_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \ -e "s/%DOCKER_VERSION%/$DOCKER_VERSION/g" \ - -e "s/%DOCKER_MACHINE_VERSION%/$DOCKER_MACHINE_VERSION/g" \ - -e "s/%DOCKER_COMPOSE_VERSION%/$DOCKER_COMPOSE_VERSION/g" \ ../PackageInfo /mpkg/Distribution && \ cd .. && \ rm -rf ./rootfs @@ -98,7 +96,7 @@ RUN cd /mpkg/dockermachine.pkg && \ sed -i \ -e "s/%DOCKERMACHINE_NUMBER_OF_FILES%/`find . | wc -l`/g" \ -e "s/%DOCKERMACHINE_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \ - -e "s/%DOCKERMACHINE_VERSION%/$DOCKER_VERSION/g" \ + -e "s/%DOCKERMACHINE_VERSION%/$DOCKER_MACHINE_VERSION/g" \ ../PackageInfo /mpkg/Distribution && \ cd .. && \ rm -rf ./rootfs @@ -115,7 +113,7 @@ RUN cd /mpkg/dockercompose.pkg && \ sed -i \ -e "s/%DOCKERCOMPOSE_NUMBER_OF_FILES%/`find . | wc -l`/g" \ -e "s/%DOCKERCOMPOSE_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \ - -e "s/%DOCKERCOMPOSE_VERSION%/$DOCKER_VERSION/g" \ + -e "s/%DOCKERCOMPOSE_VERSION%/$DOCKER_COMPOSE_VERSION/g" \ ../PackageInfo /mpkg/Distribution && \ cd .. && \ rm -rf ./rootfs @@ -161,7 +159,7 @@ RUN cd /mpkg/kitematicapp.pkg && \ sed -i \ -e "s/%KITEMATICAPP_NUMBER_OF_FILES%/`find . | wc -l`/g" \ -e "s/%KITEMATICAPP_INSTALL_KBYTES%/`du -sk | cut -f1`/g" \ - -e "s/%KITEMATICAPP_VERSION%/$INSTALLER_VERSION/g" \ + -e "s/%KITEMATICAPP_VERSION%/$KITEMATIC_VERSION/g" \ ../PackageInfo /mpkg/Distribution && \ cd .. && \ rm -rf ./rootfs @@ -180,16 +178,15 @@ RUN sed -i \ /mpkg/Distribution && \ sed -i \ -e "s/%VBOX_VERSION%/$VBOX_VERSION/g" \ + -e "s/%DOCKER_VERSION%/$DOCKER_VERSION/g" \ + -e "s/%DOCKERMACHINE_VERSION%/$DOCKER_MACHINE_VERSION/g" \ + -e "s/%DOCKERCOMPOSE_VERSION%/$DOCKER_COMPOSE_VERSION/g" \ + -e "s/%BOOT2DOCKER_ISO_VERSION%/$BOOT2DOCKER_ISO_VERSION/g" \ + -e "s/%DOCKERCLIAPP_VERSION%/$INSTALLER_VERSION/g" \ + -e "s/%KITEMATICAPP_VERSION%/$KITEMATIC_VERSION/g" \ mpkg/Resources/en.lproj/Localizable.strings -# Make DMG rootfs -RUN mkdir -p /dmg - # Repackage back. Yes, --compression=none is mandatory. # or this won't install in OSX. RUN cd /mpkg && \ - xar -c --compression=none -f /dmg/DockerToolbox.pkg . - -COPY makedmg.sh / - -CMD ["/makedmg.sh", "docker.dmg", "Docker", "/dmg"] + xar -c --compression=none -f /DockerToolbox.pkg . diff --git a/osx/Makefile b/osx/Makefile index 666f4749b3..6771308fbd 100644 --- a/osx/Makefile +++ b/osx/Makefile @@ -6,13 +6,13 @@ default: dockerbuild dockerbuild: clean docker build -t $(DOCKER_IMAGE) . - docker run --privileged -i -t --name "$(DOCKER_CONTAINER)" "$(DOCKER_IMAGE)" - docker cp "$(DOCKER_CONTAINER)":/dmg/DockerToolbox.pkg . - mv DockerToolbox.pkg DockerToolboxUnsigned.pkg - productsign --sign "3rd Party Mac Developer Installer: Docker Inc" DockerToolboxUnsigned.pkg DockerToolbox.pkg - rm DockerToolboxUnsigned.pkg + docker run --name "$(DOCKER_CONTAINER)" "$(DOCKER_IMAGE)" + docker cp "$(DOCKER_CONTAINER)":/DockerToolbox.pkg . + docker rm "$(DOCKER_CONTAINER)" 2>/dev/null || true + productsign --sign "3rd Party Mac Developer Installer: Docker Inc" DockerToolbox.pkg DockerToolboxSigned.pkg || true + mv DockerToolboxSigned.pkg DockerToolbox.pkg || true clean: - rm -f Docker.pkg + rm -f DockerToolbox.pkg docker rm "$(DOCKER_CONTAINER)" 2>/dev/null || true diff --git a/osx/README.md b/osx/README.md index 550c47f6fd..27e0681994 100644 --- a/osx/README.md +++ b/osx/README.md @@ -1,7 +1,7 @@ -Boot2Docker for Mac OS X Installer +Docker Toolbox for Mac OS X ============= -Installation [instructions](http://docs.docker.io/installation/mac/) available on the Docker documentation site. +Installation [instructions](https://docs.docker.com/mac/started/) available on the Docker documentation site. How to build ============ diff --git a/osx/makedmg.sh b/osx/makedmg.sh deleted file mode 100755 index 964e7a8832..0000000000 --- a/osx/makedmg.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# DMG Creation Script -# Usage: makedmg -# -# Based on makedmg by Jon Cowie -# -# imagename: The output file name of the image, ie foo.dmg -# imagetitle: The title of the DMG File as displayed in OS X -# contentdir: The directory containing the content you want the DMG file to contain - -if [ ! $# == 3 ]; then - echo "Usage: $0 " -else - OUTPUT=$1 - TITLE=$2 - CONTENTDIR=$3 - FILESIZE=$(du -sm "${CONTENTDIR}" | cut -f1) - FILESIZE=$((${FILESIZE} + 5)) - USER=$(whoami) - TMPDIR="/tmp/dmgdir" - - if [ "${USER}" != "root" ]; then - echo "$0 must be run as root!" - else - echo "Creating DMG File..." - dd if=/dev/zero of="${OUTPUT}" bs=1M count=$FILESIZE - mkfs.hfsplus -v "${TITLE}" "${OUTPUT}" - - echo "Mounting DMG File..." - mkdir -p ${TMPDIR} - mount -t hfsplus -o loop "${OUTPUT}" "${TMPDIR}" - - echo "Copying content to DMG File..." - cp -R "${CONTENTDIR}"/* "${TMPDIR}" - - echo "Unmounting DMG File..." - umount "${TMPDIR}" - rm -rf "${TMPDIR}" - - echo "All Done!" - fi -fi diff --git a/osx/mpkg/Resources/en.lproj/Localizable.strings b/osx/mpkg/Resources/en.lproj/Localizable.strings index 50cddd577c..53c7add865 100644 --- a/osx/mpkg/Resources/en.lproj/Localizable.strings +++ b/osx/mpkg/Resources/en.lproj/Localizable.strings @@ -1,21 +1,21 @@ 'docker_title' = 'Docker Toolbox'; -'choiceDockerCLI_title' = 'Docker'; +'choiceDockerCLI_title' = 'Docker Client %DOCKER_VERSION%'; 'choiceDockerCLI_msg' = 'Installs the Docker client for Mac OS X into /usr/local/bin/'; -'choiceDockerMachineCLI_title' = 'Docker Machine'; +'choiceDockerMachineCLI_title' = 'Docker Machine %DOCKERMACHINE_VERSION%'; 'choiceDockerMachineCLI_msg' = 'Installs the Docker Machine binary into /usr/local/bin/'; -'choiceDockerComposeCLI_title' = 'Docker Compose'; +'choiceDockerComposeCLI_title' = 'Docker Compose %DOCKERCOMPOSE_VERSION%'; 'choiceDockerComposeCLI_msg' = 'Installs the Docker Compose binary into /usr/local/bin/'; -'choiceBoot2DockerISO_title' = 'Boot2Docker ISO'; +'choiceBoot2DockerISO_title' = 'Boot2Docker ISO %BOOT2DOCKER_ISO_VERSION%'; 'choiceBoot2DockerISO_msg' = 'Installs the boot2docker.iso into /usr/local/share/'; 'choiceDockerCLIAPP_title' = 'Docker CLI Quick-start applet'; 'choiceDockerCLIAPP_msg' = 'Installs the Docker CLI Quick-start applet into /Applications/'; -'choiceKitematicAPP_title' = 'Kitematic'; +'choiceKitematicAPP_title' = 'Kitematic %KITEMATICAPP_VERSION%'; 'choiceKitematicAPP_msg' = 'Installs Kitematic into /Applications/'; 'choiceVBox_title' = 'Oracle VM VirtualBox %VBOX_VERSION%'; @@ -29,4 +29,3 @@ 'UNSUPPORTED_OS_TLE' = "Unsupported OS version detected!"; 'UNSUPPORTED_OS_MSG' = "The installer has detected an unsupported operation system. VirtualBox requires Mac OS X 10.6 or later."; - diff --git a/osx/mpkg/Resources/en.lproj/Welcome.html b/osx/mpkg/Resources/en.lproj/Welcome.html index e86b5a3923..bdbba23bd9 100644 --- a/osx/mpkg/Resources/en.lproj/Welcome.html +++ b/osx/mpkg/Resources/en.lproj/Welcome.html @@ -14,11 +14,11 @@ The Docker Toolbox installer includes the following:

    -
  • Docker Engine docker binary
  • +
  • Docker Client docker binary
  • Docker Machine docker-machine binary
  • Docker Compose docker-compose binary
  • Kitematic - Desktop GUI for Docker
  • -
  • a shell preconfigured as a Docker command line environment
  • +
  • Docker CLI app

diff --git a/osx/uninstall.sh b/osx/uninstall.sh index 4a33ef27e1..7be84fe850 100755 --- a/osx/uninstall.sh +++ b/osx/uninstall.sh @@ -7,8 +7,16 @@ if [ "${USER}" != "root" ]; then exit 2 fi -echo "Removing dev VirtualBox VM..." -docker-machine rm -f $(docker-machine ls -q) +while true; do + read -p "Remove all VMs? (Y/N): " yn + case $yn in + [Yy]* ) docker-machine rm -f $(docker-machine ls -q); break;; + [Nn]* ) break;; + * ) echo "Please answer yes or no.";; + esac +done + +exit 0 echo "Removing docker binaries..." rm -f /usr/local/bin/docker @@ -19,8 +27,4 @@ echo "Removing boot2docker.iso and socket files..." rm -rf ~/.docker rm -rf /usr/local/share/boot2docker -echo "Removing boot2docker OSX files..." -rm -f /private/var/db/receipts/io.boot2docker.* -rm -f /private/var/db/receipts/io.boot2dockeriso.* - echo "All Done!"