mirror of https://github.com/docker/docs.git
Merge pull request #12242 from tianon/functionalize-install
Wrap install.sh in a function
This commit is contained in:
commit
904295fd71
|
@ -20,20 +20,41 @@ command_exists() {
|
||||||
command -v "$@" > /dev/null 2>&1
|
command -v "$@" > /dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo_docker_as_nonroot() {
|
||||||
|
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
|
||||||
|
cat <<-EOF
|
||||||
|
|
||||||
|
If you would like to use Docker as a non-root user, you should now consider
|
||||||
|
adding your user to the "docker" group with something like:
|
||||||
|
|
||||||
|
sudo usermod -aG docker $your_user
|
||||||
|
|
||||||
|
Remember that you will have to log out and back in for this to take effect!
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
case "$(uname -m)" in
|
case "$(uname -m)" in
|
||||||
*64)
|
*64)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo >&2 'Error: you are not using a 64bit platform.'
|
cat >&2 <<-'EOF'
|
||||||
echo >&2 'Docker currently only supports 64bit platforms.'
|
Error: you are not using a 64bit platform.
|
||||||
|
Docker currently only supports 64bit platforms.
|
||||||
|
EOF
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if command_exists docker || command_exists lxc-docker; then
|
if command_exists docker || command_exists lxc-docker; then
|
||||||
echo >&2 'Warning: "docker" or "lxc-docker" command appears to already exist.'
|
cat >&2 <<-'EOF'
|
||||||
echo >&2 'Please ensure that you do not already have docker installed.'
|
Warning: "docker" or "lxc-docker" command appears to already exist.
|
||||||
echo >&2 'You may press Ctrl+C now to abort this process and rectify this situation.'
|
Please ensure that you do not already have docker installed.
|
||||||
|
You may press Ctrl+C now to abort this process and rectify this situation.
|
||||||
|
EOF
|
||||||
( set -x; sleep 20 )
|
( set -x; sleep 20 )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -46,8 +67,10 @@ if [ "$user" != 'root' ]; then
|
||||||
elif command_exists su; then
|
elif command_exists su; then
|
||||||
sh_c='su -c'
|
sh_c='su -c'
|
||||||
else
|
else
|
||||||
echo >&2 'Error: this installer needs the ability to run commands as root.'
|
cat >&2 <<-'EOF'
|
||||||
echo >&2 'We are unable to find either "sudo" or "su" available to make this happen.'
|
Error: this installer needs the ability to run commands as root.
|
||||||
|
We are unable to find either "sudo" or "su" available to make this happen.
|
||||||
|
EOF
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -99,16 +122,7 @@ case "$lsb_dist" in
|
||||||
$sh_c 'docker version'
|
$sh_c 'docker version'
|
||||||
) || true
|
) || true
|
||||||
fi
|
fi
|
||||||
your_user=your-user
|
echo_docker_as_nonroot
|
||||||
[ "$user" != 'root' ] && your_user="$user"
|
|
||||||
echo
|
|
||||||
echo 'If you would like to use Docker as a non-root user, you should now consider'
|
|
||||||
echo 'adding your user to the "docker" group with something like:'
|
|
||||||
echo
|
|
||||||
echo ' sudo usermod -aG docker' $your_user
|
|
||||||
echo
|
|
||||||
echo 'Remember that you will have to log out and back in for this to take effect!'
|
|
||||||
echo
|
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -183,31 +197,28 @@ case "$lsb_dist" in
|
||||||
$sh_c 'docker version'
|
$sh_c 'docker version'
|
||||||
) || true
|
) || true
|
||||||
fi
|
fi
|
||||||
your_user=your-user
|
echo_docker_as_nonroot
|
||||||
[ "$user" != 'root' ] && your_user="$user"
|
|
||||||
echo
|
|
||||||
echo 'If you would like to use Docker as a non-root user, you should now consider'
|
|
||||||
echo 'adding your user to the "docker" group with something like:'
|
|
||||||
echo
|
|
||||||
echo ' sudo usermod -aG docker' $your_user
|
|
||||||
echo
|
|
||||||
echo 'Remember that you will have to log out and back in for this to take effect!'
|
|
||||||
echo
|
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
|
||||||
gentoo)
|
gentoo)
|
||||||
if [ "$url" = "https://test.docker.com/" ]; then
|
if [ "$url" = "https://test.docker.com/" ]; then
|
||||||
echo >&2
|
# intentionally mixed spaces and tabs here -- tabs are stripped by "<<-'EOF'", spaces are kept in the output
|
||||||
echo >&2 ' You appear to be trying to install the latest nightly build in Gentoo.'
|
cat >&2 <<-'EOF'
|
||||||
echo >&2 ' The portage tree should contain the latest stable release of Docker, but'
|
|
||||||
echo >&2 ' if you want something more recent, you can always use the live ebuild'
|
You appear to be trying to install the latest nightly build in Gentoo.'
|
||||||
echo >&2 ' provided in the "docker" overlay available via layman. For more'
|
The portage tree should contain the latest stable release of Docker, but'
|
||||||
echo >&2 ' instructions, please see the following URL:'
|
if you want something more recent, you can always use the live ebuild'
|
||||||
echo >&2 ' https://github.com/tianon/docker-overlay#using-this-overlay'
|
provided in the "docker" overlay available via layman. For more'
|
||||||
echo >&2 ' After adding the "docker" overlay, you should be able to:'
|
instructions, please see the following URL:'
|
||||||
echo >&2 ' emerge -av =app-emulation/docker-9999'
|
|
||||||
echo >&2
|
https://github.com/tianon/docker-overlay#using-this-overlay'
|
||||||
|
|
||||||
|
After adding the "docker" overlay, you should be able to:'
|
||||||
|
|
||||||
|
emerge -av =app-emulation/docker-9999'
|
||||||
|
|
||||||
|
EOF
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -219,7 +230,8 @@ case "$lsb_dist" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
cat >&2 <<'EOF'
|
# intentionally mixed spaces and tabs here -- tabs are stripped by "<<-'EOF'", spaces are kept in the output
|
||||||
|
cat >&2 <<-'EOF'
|
||||||
|
|
||||||
Either your platform is not easily detectable, is not supported by this
|
Either your platform is not easily detectable, is not supported by this
|
||||||
installer script (yet - PRs welcome! [hack/install.sh]), or does not yet have
|
installer script (yet - PRs welcome! [hack/install.sh]), or does not yet have
|
||||||
|
@ -230,3 +242,8 @@ cat >&2 <<'EOF'
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
exit 1
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# wrapped up in a function so that we have some protection against only getting
|
||||||
|
# half the file during "curl | sh"
|
||||||
|
do_install
|
||||||
|
|
Loading…
Reference in New Issue