Files
runner-images/images/linux/scripts/installers/docker-moby.sh
T

56 lines
2.0 KiB
Bash
Raw Normal View History

2020-10-07 13:49:40 +05:00
#!/bin/bash -e
################################################################################
2020-02-27 16:55:23 +04:00
## File: docker-moby.sh
## Desc: Installs docker onto the image
################################################################################
2020-09-09 15:42:39 +03:00
# Source the helpers for use with the script
2020-07-08 22:28:23 +03:00
source $HELPER_SCRIPTS/install.sh
2020-09-09 15:42:39 +03:00
# Check to see if docker is already installed
docker_package=moby
echo "Determing if Docker ($docker_package) is installed"
2020-07-09 15:14:28 +03:00
if ! IsPackageInstalled $docker_package; then
echo "Docker ($docker_package) was not found. Installing..."
apt-get remove -y moby-engine moby-cli
apt-get update
apt-get install -y moby-engine moby-cli
2020-04-17 00:05:31 +04:00
apt-get install --no-install-recommends -y moby-buildx
2021-10-01 12:33:34 +03:00
apt-get install -y moby-compose
else
echo "Docker ($docker_package) is already installed"
fi
# Enable docker.service
systemctl is-active --quiet docker.service || systemctl start docker.service
systemctl is-enabled --quiet docker.service || systemctl enable docker.service
# Docker daemon takes time to come up after installing
sleep 10
docker info
# If credentials are provided, attempt to log into Docker Hub
# with a paid account to avoid Docker Hub's rate limit.
if [ "${DOCKERHUB_LOGIN}" ] && [ "${DOCKERHUB_PASSWORD}" ]; then
docker login --username "${DOCKERHUB_LOGIN}" --password "${DOCKERHUB_PASSWORD}"
fi
2020-09-08 14:40:56 +03:00
# Pull images
images=$(get_toolset_value '.docker.images[]')
2020-09-09 15:42:39 +03:00
for image in $images; do
2020-09-08 14:40:56 +03:00
docker pull "$image"
done
# Always attempt to logout so we do not leave our credentials on the built
# image. Logout _should_ return a zero exit code even if no credentials were
# stored from earlier.
docker logout
2022-05-16 17:49:51 +02:00
# Install amazon-ecr-credential-helper
aws_latest_release_url="https://api.github.com/repos/awslabs/amazon-ecr-credential-helper/releases/latest"
aws_helper_url=$(curl "${authString[@]}" -sL $aws_latest_release_url | jq -r '.body' | awk -F'[()]' '/linux-amd64/ {print $2}')
download_with_retries "$aws_helper_url" "/usr/bin" docker-credential-ecr-login
chmod +x /usr/bin/docker-credential-ecr-login
invoke_tests "Tools" "Docker"