sh install-docker.sh
- log out
- log back in
The script was assembled using the official Docker docs:
sh install-docker.sh
The script was assembled using the official Docker docs:
#!/bin/sh | |
set -o errexit | |
set -o nounset | |
IFS=$(printf '\n\t') | |
# Docker | |
sudo apt remove --yes docker docker-engine docker.io containerd runc || true | |
sudo apt update | |
sudo apt --yes --no-install-recommends install apt-transport-https ca-certificates | |
wget --quiet --output-document=- https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
sudo add-apt-repository --yes "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release --codename --short) stable" | |
sudo apt update | |
sudo apt --yes --no-install-recommends install docker-ce docker-ce-cli containerd.io | |
sudo usermod --append --groups docker "$USER" | |
sudo systemctl enable docker | |
printf '\nDocker installed successfully\n\n' | |
printf 'Waiting for Docker to start...\n\n' | |
sleep 5 | |
# Docker Compose | |
sudo wget --output-document=/usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/$(wget --quiet --output-document=- https://api.github.com/repos/docker/compose/releases/latest | grep --perl-regexp --only-matching '"tag_name": "\K.*?(?=")')/run.sh" | |
sudo chmod +x /usr/local/bin/docker-compose | |
sudo wget --output-document=/etc/bash_completion.d/docker-compose "https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose" | |
printf '\nDocker Compose installed successfully\n\n' |
@tddschn Does it show an error message? Also, could you please run it manually and check the exit code? You can check the exit code like this: echo $?
@EvgenyOrekhov The error code is 100
(tested).
From apt.1
: apt returns zero on normal operation, decimal 100 on error.
It seems that apt remove
a package that is not installed throws and error on apt version 2.2.3, but there's no error on 2.2.4.
@tddschn Thanks! I added || true
to ignore apt remove
errors.
Not work for Docker Compose v2
compose_release() { curl --silent "https://api.github.com/repos/docker/compose/releases/latest" #@| grep -Po '"tag_name": "\K.*?(?=")' } if ! [ -x "$(command -v docker-compose)" ]; then curl -L https://github.com/docker/compose/releases/download/$(compose_release)/docker-compose-$(uname -s)-$(uname -m) \ -o /usr/local/bin/docker-compose && chmo
Current script fails on docker compose
`Docker installed successfully
Waiting for Docker to start...
--2021-12-02 08:25:56-- https://github.com/docker/compose/releases/download/v2.1.1/run.sh
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-12-02 08:25:56 ERROR 404: Not Found.`
running compose version also returns permissions denied
docker-compose --version
-bash: /usr/local/bin/docker-compose: Permission denied
The link to run.sh seems broken
--2021-12-19 11:45:04-- https://github.com/docker/compose/releases/download/v2.2.2/run.sh
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-12-19 11:45:04 ERROR 404: Not Found.
@decentraliser yes the link is broken, since the 2.x rework in GoLang the auto completion script was removed
I suggest we remove the auto completion install form the script
Reference:
docker/docs#14692 (comment)
docker/cli#3429 (review)
#!/bin/sh
set -o errexit
set -o nounset
IFS=$(printf '\n\t')
# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
printf '\nDocker installed successfully\n\n'
printf 'Waiting for Docker to start...\n\n'
sleep 5
# Docker Compose
COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)
sudo curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
printf '\nDocker Compose installed successfully\n\n'
sudo docker-compose -v
I can confirm that
sudo apt remove --yes docker docker-engine docker.io containerd runc
fails on Ubuntu 21.04.apt
version:apt 2.2.3 (amd64)