diff --git a/docs/articles/dsc.md b/docs/articles/dsc.md index b6497baf0d..2fe7553b78 100644 --- a/docs/articles/dsc.md +++ b/docs/articles/dsc.md @@ -51,10 +51,10 @@ The Docker installation configuration is equivalent to running: ``` apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys\ 36A1D7869245C8950F966E92D8576A8BA88D21E9 -sh -c "echo deb https://get.docker.com/ubuntu docker main\ +sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-trusty main\ > /etc/apt/sources.list.d/docker.list" apt-get update -apt-get install lxc-docker +apt-get install docker-engine ``` Ensure that your current working directory is set to the `DockerClientDSC` diff --git a/docs/installation/centos.md b/docs/installation/centos.md index b9a92784ac..09c799402e 100644 --- a/docs/installation/centos.md +++ b/docs/installation/centos.md @@ -41,51 +41,28 @@ packages. ## Install -You use the same installation procedure for all versions of CentOS, -only the package you install differs. There are two packages to choose from: +There are two ways to install Docker Engine. You can use `curl` with the `get.docker.com` site. This method runs an installation script which installs via the `yum` package manager. Or you can install with the `yum` package manager directly yourself. - - - - - - - - - -
VersionPackage name
7.X -

- - https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.centos.x86_64.rpm -

-

- - https://get.docker.com/rpm/1.7.1/centos-7/SRPMS/docker-engine-1.7.1-1.el7.centos.src.rpm -

-
+### Install with the script -Installation procedure: - 1. Log into your machine as a user with `sudo` or `root` privileges. -2. Make sure your existing packages are up-to-date. +2. Make sure your existing yum packages are up-to-date. $ sudo yum update -3. Download the Docker RPM to the current directory. +3. Run the Docker installation script. - $ curl -O -sSL https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.x86_64.rpm + $ curl -sSL https://get.docker.com/ | sh + + This script adds the `docker.repo` repository and installs Docker. -4. Use `yum` to install the package. - - $ sudo yum localinstall --nogpgcheck docker-engine-1.7.1-1.el7.x86_64.rpm - -5. Start the Docker daemon. +4. Start the Docker daemon. $ sudo service docker start -6. Verify `docker` is installed correctly by running a test image in a container. +5. Verify `docker` is installed correctly by running a test image in a container. $ sudo docker run hello-world Unable to find image 'hello-world:latest' locally @@ -112,6 +89,39 @@ Installation procedure: For more examples and ideas, visit: http://docs.docker.com/userguide/ + +### Install without the script + +1. Log into your machine as a user with `sudo` or `root` privileges. + +2. Make sure your existing yum packages are up-to-date. + + $ sudo yum update + +3. Add the yum repo yourself. + + For CentOS 7 run: + + $ cat >/etc/yum.repos.d/docker.repo <<-EOF + [dockerrepo] + name=Docker Repository + baseurl=https://yum.dockerproject.org/repo/main/centos/7 + enabled=1 + gpgcheck=1 + gpgkey=https://yum.dockerproject.org/gpg + EOF + +4. Install the Docker package. + + $ sudo yum install docker-engine + +5. Start the Docker daemon. + + $ sudo service docker start + +6. Verify `docker` is installed correctly by running a test image in a container. + + $ sudo docker run hello-world ## Create a docker group diff --git a/docs/installation/debian.md b/docs/installation/debian.md index 52265580b2..ac45721ff6 100644 --- a/docs/installation/debian.md +++ b/docs/installation/debian.md @@ -102,11 +102,11 @@ which is officially supported by Docker. To uninstall the Docker package: - $ sudo apt-get purge lxc-docker + $ sudo apt-get purge docker-engine To uninstall the Docker package and dependencies that are no longer needed: - $ sudo apt-get autoremove --purge lxc-docker + $ sudo apt-get autoremove --purge docker-engine The above commands will not remove images, containers, volumes, or user created configuration files on your host. If you wish to delete all images, containers, diff --git a/docs/installation/fedora.md b/docs/installation/fedora.md index 026a706996..eb8176296b 100644 --- a/docs/installation/fedora.md +++ b/docs/installation/fedora.md @@ -38,85 +38,28 @@ reported kernel bugs may have already been fixed on the latest kernel packages ## Install -You use the same installation procedure for all versions of Fedora, -only the package you install differs. Choose from these packages: +There are two ways to install Docker Engine. You can use `curl` with the `get.docker.com` site. This method runs an installation script which installs via the `yum` package manager. Or you can install with the `yum` package manager directly yourself. - - - - - - - - - - - - - - - - - - -
VersionPackage name
Fedora 20 -

- - docker-engine-1.7.1-1.fc20.x86_64.rpm -

-

- - docker-engine-1.7.1-1.fc20.src.rpm -

-
Fedora 21 -

- - docker-engine-1.7.1-1.fc21.x86_64.rpm -

-

- - docker-engine-1.7.1-1.fc21.src.rpm -

-
Fedora 22 -

- - docker-engine-1.7.1-1.fc22.x86_64.rpm -

-

- - docker-engine-1.7.1-1.fc22.src.rpm -

-
+### Install with the script -This procedure depicts an installation on version 21. If you are installing on -20 or 22, substitute that package for your installation. - 1. Log into your machine as a user with `sudo` or `root` privileges. -2. Make sure you don't have an older version of Docker installed. +2. Make sure your existing yum packages are up-to-date. - $ yum list installed | grep docker - - If you have an older version, remove it using the `yum -y remove ` command. - -3. Download the Docker RPM to the current directory. + $ sudo yum update - $ curl -O -sSL https://url_to_package/docker-engine-1.7.1-0.1.fc21.x86_64.rpm +3. Run the Docker installation script. + + $ curl -sSL https://get.docker.com/ | sh + + This script adds the `docker.repo` repository and installs Docker. -4. Use `yum` to install the package. - - $ sudo yum localinstall --nogpgcheck docker-engine-1.7.1-0.1.fc21.x86_64.rpm - -5. Start the Docker daemon. +4. Start the Docker daemon. $ sudo service docker start -6. Verify `docker` is installed correctly by running a test image in a container. +5. Verify `docker` is installed correctly by running a test image in a container. $ sudo docker run hello-world Unable to find image 'hello-world:latest' locally @@ -124,7 +67,7 @@ This procedure depicts an installation on version 21. If you are installing on a8219747be10: Pull complete 91c95931e552: Already exists hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. - Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd18681cf5daeb82aab55838d + Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd1.7.1cf5daeb82aab55838d Status: Downloaded newer image for hello-world:latest Hello from Docker. This message shows that your installation appears to be working correctly. @@ -143,6 +86,61 @@ This procedure depicts an installation on version 21. If you are installing on For more examples and ideas, visit: http://docs.docker.com/userguide/ + +### Install without the script + +1. Log into your machine as a user with `sudo` or `root` privileges. + +2. Make sure your existing yum packages are up-to-date. + + $ sudo yum update + +3. Add the yum repo yourself. + + For Fedora 20 run: + + $ cat >/etc/yum.repos.d/docker.repo <<-EOF + [dockerrepo] + name=Docker Repository + baseurl=https://yum.dockerproject.org/repo/main/fedora/20 + enabled=1 + gpgcheck=1 + gpgkey=https://yum.dockerproject.org/gpg + EOF + + For Fedora 21 run: + + $ cat >/etc/yum.repos.d/docker.repo <<-EOF + [dockerrepo] + name=Docker Repository + baseurl=https://yum.dockerproject.org/repo/main/fedora/21 + enabled=1 + gpgcheck=1 + gpgkey=https://yum.dockerproject.org/gpg + EOF + + For Fedora 22 run: + + $ cat >/etc/yum.repos.d/docker.repo <<-EOF + [dockerrepo] + name=Docker Repository + baseurl=https://yum.dockerproject.org/repo/main/fedora/22 + enabled=1 + gpgcheck=1 + gpgkey=https://yum.dockerproject.org/gpg + EOF + +4. Install the Docker package. + + $ sudo yum install docker-engine + +5. Start the Docker daemon. + + $ sudo service docker start + +6. Verify `docker` is installed correctly by running a test image in a container. + + $ sudo docker run hello-world ## Create a docker group diff --git a/docs/installation/rhel.md b/docs/installation/rhel.md index 2695246cae..af496f6769 100644 --- a/docs/installation/rhel.md +++ b/docs/installation/rhel.md @@ -35,48 +35,29 @@ mind that your system should be fully patched to fix any potential kernel bugs. Any reported kernel bugs may have already been fixed on the latest kernel packages. -## Install +## Install Docker Engine -You use the same installation procedure for all versions of Red Hat Enterprise, -only the package you install differs. There are two packages to choose from: +There are two ways to install Docker Engine. You can use `curl` with the `get.docker.com` site. This method runs an installation script which installs via the `yum` package manager. Or you can install with the `yum` package manager directly yourself. - - - - - - - - - -
VersionPackage name
7.X -

- - https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.centos.x86_64.rpm -

-

- - https://get.docker.com/rpm/1.7.1/centos-7/SRPMS/docker-engine-1.7.1-1.el7.centos.src.rpm -

-
+### Install with the script -Installation procedure: +You use the same installation procedure for all versions of CentOS. 1. Log into your machine as a user with `sudo` or `root` privileges. -2. Download the Docker RPM to the current directory. +2. Make sure your existing yum packages are up-to-date. + + $ sudo yum update - $ curl -O -sSL https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.x86_64.rpm +3. Run the Docker installation script. + + $ curl -sSL https://get.docker.com/ | sh -3. Use `yum` to install the package. - - $ sudo yum localinstall --nogpgcheck docker-engine-1.7.1-1.el7.x86_64.rpm - -5. Start the Docker daemon. +4. Start the Docker daemon. $ sudo service docker start -6. Verify `docker` is installed correctly. +5. Verify `docker` is installed correctly by running a test image in a container. $ sudo docker run hello-world Unable to find image 'hello-world:latest' locally @@ -84,7 +65,7 @@ Installation procedure: a8219747be10: Pull complete 91c95931e552: Already exists hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. - Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd18681cf5daeb82aab55838d + Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd1.7.1cf5daeb82aab55838d Status: Downloaded newer image for hello-world:latest Hello from Docker. This message shows that your installation appears to be working correctly. @@ -103,6 +84,39 @@ Installation procedure: For more examples and ideas, visit: http://docs.docker.com/userguide/ + +### Install without the script + +1. Log into your machine as a user with `sudo` or `root` privileges. + +2. Make sure your existing yum packages are up-to-date. + + $ sudo yum update + +3. Add the yum repo yourself. + + For RHEL 7 run: + + $ cat >/etc/yum.repos.d/docker.repo <<-EOF + [dockerrepo] + name=Docker Repository + baseurl=https://yum.dockerproject.org/repo/main/centos/7 + enabled=1 + gpgcheck=1 + gpgkey=https://yum.dockerproject.org/gpg + EOF + +4. Install the Docker package. + + $ sudo yum install docker-engine + +5. Start the Docker daemon. + + $ sudo service docker start + +6. Verify `docker` is installed correctly by running a test image in a container. + + $ sudo docker run hello-world ## Create a docker group diff --git a/docs/installation/ubuntulinux.md b/docs/installation/ubuntulinux.md index f6556f768b..46cc65bced 100644 --- a/docs/installation/ubuntulinux.md +++ b/docs/installation/ubuntulinux.md @@ -347,11 +347,11 @@ To install the latest version of Docker with `wget`: To uninstall the Docker package: - $ sudo apt-get purge lxc-docker + $ sudo apt-get purge docker-engine To uninstall the Docker package and dependencies that are no longer needed: - $ sudo apt-get autoremove --purge lxc-docker + $ sudo apt-get autoremove --purge docker-engine The above commands will not remove images, containers, volumes, or user created configuration files on your host. If you wish to delete all images, containers, diff --git a/hack/install.sh b/hack/install.sh index cae98dcb2d..b03db91272 100755 --- a/hack/install.sh +++ b/hack/install.sh @@ -6,7 +6,12 @@ set -e # or: # 'wget -qO- https://get.docker.com/ | sh' # -# If you're interested in the daily experimental build: +# For test builds (ie. release candidates): +# 'curl -sSL https://test.docker.com/ | sh' +# or: +# 'wget -qO- https://test.docker.com/ | sh' +# +# For experimental builds: # 'curl -sSL https://experimental.docker.com/ | sh' # or: # 'wget -qO- https://experimental.docker.com/ | sh' @@ -25,6 +30,12 @@ command_exists() { } echo_docker_as_nonroot() { + if command_exists docker && [ -e /var/run/docker.sock ]; then + ( + set -x + $sh_c 'docker version' + ) || true + fi your_user=your-user [ "$user" != 'root' ] && your_user="$user" # intentionally mixed spaces and tabs here -- tabs are stripped by "<<-EOF", spaces are kept in the output @@ -95,47 +106,60 @@ do_install() { curl='busybox wget -qO-' fi + # check to see which repo they are trying to install from + repo='main' + if [ "https://test.docker.com/" = "$url" ]; then + repo='testing' + elif [ "https://experimental.docker.com/" = "$url" ]; then + repo='experimental' + fi + # perform some very rudimentary platform detection lsb_dist='' + dist_version='' if command_exists lsb_release; then lsb_dist="$(lsb_release -si)" + dist_version="$(lsb_release --codename | cut -f2)" fi if [ -z "$lsb_dist" ] && [ -r /etc/lsb-release ]; then lsb_dist="$(. /etc/lsb-release && echo "$DISTRIB_ID")" + dist_version="$(. /etc/lsb-release && echo "$DISTRIB_CODENAME")" fi if [ -z "$lsb_dist" ] && [ -r /etc/debian_version ]; then lsb_dist='debian' + dist_version="$(cat /etc/debian_version | sed 's/\/.*//' | sed 's/\..*//')" + case "$dist_version" in + 8) + dist_version="jessie" + ;; + + 7) + dist_version="wheezy" + ;; + esac fi if [ -z "$lsb_dist" ] && [ -r /etc/fedora-release ]; then lsb_dist='fedora' + dist_version="$(rpm -qa \*-release | cut -d"-" -f3)" fi - if [ -z "$lsb_dist" ] && [ -r /etc/centos-release ]; then - lsb_dist='centos' + if [ -z "$lsb_dist" ]; then + if [ -r /etc/centos-release ] || [ -r /etc/redhat-release ]; then + lsb_dist='centos' + dist_version="$(rpm -qa \*-release | cut -d"-" -f3)" + fi fi if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then lsb_dist="$(. /etc/os-release && echo "$ID")" + dist_version="$(. /etc/os-release && echo "$VERSION_ID")" fi lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')" case "$lsb_dist" in - amzn|fedora|centos) - if [ "$lsb_dist" = 'amzn' ]; then - ( - set -x - $sh_c 'sleep 3; yum -y -q install docker' - ) - else - ( - set -x - $sh_c 'sleep 3; yum -y -q install docker-io' - ) - fi - if command_exists docker && [ -e /var/run/docker.sock ]; then - ( - set -x - $sh_c 'docker version' - ) || true - fi + amzn) + ( + set -x + $sh_c 'sleep 3; yum -y -q install docker' + ) echo_docker_as_nonroot exit 0 ;; @@ -145,17 +169,11 @@ do_install() { set -x $sh_c 'sleep 3; zypper -n install docker' ) - if command_exists docker && [ -e /var/run/docker.sock ]; then - ( - set -x - $sh_c 'docker version' - ) || true - fi echo_docker_as_nonroot exit 0 ;; - ubuntu|debian|linuxmint|'elementary os'|kali) + ubuntu|debian) export DEBIAN_FRONTEND=noninteractive did_apt_get_update= @@ -209,30 +227,39 @@ do_install() { curl='curl -sSL' fi ( - set -x - if [ "https://get.docker.com/" = "$url" ]; then - $sh_c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9" - elif [ "https://test.docker.com/" = "$url" ]; then - $sh_c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 740B314AE3941731B942C66ADF4FD13717AAD7D6" - elif [ "https://experimental.docker.com/" = "$url" ]; then - $sh_c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys E33FF7BF5C91D50A6F91FFFD4CC38D40F9A96B49" - else - $sh_c "$curl ${url}gpg | apt-key add -" - fi - $sh_c "mkdir -p /etc/apt/sources.list.d" - $sh_c "echo deb ${url}ubuntu docker main > /etc/apt/sources.list.d/docker.list" - $sh_c 'sleep 3; apt-get update; apt-get install -y -q lxc-docker' + set -x + $sh_c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D" + $sh_c "mkdir -p /etc/apt/sources.list.d" + $sh_c "echo deb https://apt.dockerproject.org/repo ${lsb_dist}-${dist_version} ${repo} > /etc/apt/sources.list.d/docker.list" + $sh_c 'sleep 3; apt-get update; apt-get install -y -q docker-engine' ) - if command_exists docker && [ -e /var/run/docker.sock ]; then - ( - set -x - $sh_c 'docker version' - ) || true - fi echo_docker_as_nonroot exit 0 ;; + fedora|centos) + cat >/etc/yum.repos.d/docker-${repo}.repo <<-EOF + [docker-${repo}-repo] + name=Docker ${repo} Repository + baseurl=https://yum.dockerproject.org/repo/${repo}/${lsb_dist}/${dist_version} + enabled=1 + gpgcheck=1 + gpgkey=https://yum.dockerproject.org/gpg + EOF + if [ "$lsb_dist" = "fedora" ] && [ "$dist_version" -ge "22" ]; then + ( + set -x + $sh_c 'sleep 3; dnf -y -q install docker-engine' + ) + else + ( + set -x + $sh_c 'sleep 3; yum -y -q install docker-engine' + ) + fi + echo_docker_as_nonroot + exit 0 + ;; gentoo) if [ "$url" = "https://test.docker.com/" ]; then # intentionally mixed spaces and tabs here -- tabs are stripped by "<<-'EOF'", spaces are kept in the output diff --git a/project/PACKAGERS.md b/project/PACKAGERS.md index fd2156c585..6a540c28cf 100644 --- a/project/PACKAGERS.md +++ b/project/PACKAGERS.md @@ -25,8 +25,7 @@ for, so feel free to reach out to him even just to say "Hi!" ## Package Name If possible, your package should be called "docker". If that name is already -taken, a second choice is "lxc-docker", but with the caveat that "LXC" is now an -optional dependency (as noted below). Another possible choice is "docker.io". +taken, a second choice is "docker-engine". Another possible choice is "docker.io". ## Official Build vs Distro Build