mirror of
https://github.com/actions/runner-images.git
synced 2025-12-20 06:35:47 +00:00
[ubuntu] Change docker to install from official repository (#8107)
This commit is contained in:
committed by
GitHub
parent
392aa0ebd4
commit
d44b8a46e2
@@ -108,8 +108,8 @@ $tools.AddToolVersion("Docker Amazon ECR Credential Helper", $(Get-DockerAmazonE
|
|||||||
$tools.AddToolVersion("Docker Compose v1", $(Get-DockerComposeV1Version))
|
$tools.AddToolVersion("Docker Compose v1", $(Get-DockerComposeV1Version))
|
||||||
$tools.AddToolVersion("Docker Compose v2", $(Get-DockerComposeV2Version))
|
$tools.AddToolVersion("Docker Compose v2", $(Get-DockerComposeV2Version))
|
||||||
$tools.AddToolVersion("Docker-Buildx", $(Get-DockerBuildxVersion))
|
$tools.AddToolVersion("Docker-Buildx", $(Get-DockerBuildxVersion))
|
||||||
$tools.AddToolVersion("Docker-Moby Client", $(Get-DockerMobyClientVersion))
|
$tools.AddToolVersion("Docker Client", $(Get-DockerClientVersion))
|
||||||
$tools.AddToolVersion("Docker-Moby Server", $(Get-DockerMobyServerVersion))
|
$tools.AddToolVersion("Docker Server", $(Get-DockerServerVersion))
|
||||||
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
||||||
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,22 +69,22 @@ function Get-DockerComposeV1Version {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function Get-DockerComposeV2Version {
|
function Get-DockerComposeV2Version {
|
||||||
$composeVersion = docker compose version | Take-OutputPart -Part 3
|
$composeVersion = docker compose version | Take-OutputPart -Part 3 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||||
return $composeVersion
|
return $composeVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-DockerMobyClientVersion {
|
function Get-DockerClientVersion {
|
||||||
$dockerClientVersion = sudo docker version --format '{{.Client.Version}}'
|
$dockerClientVersion = sudo docker version --format '{{.Client.Version}}'
|
||||||
return $dockerClientVersion
|
return $dockerClientVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-DockerMobyServerVersion {
|
function Get-DockerServerVersion {
|
||||||
$dockerServerVersion = sudo docker version --format '{{.Server.Version}}'
|
$dockerServerVersion = sudo docker version --format '{{.Server.Version}}'
|
||||||
return $dockerServerVersion
|
return $dockerServerVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-DockerBuildxVersion {
|
function Get-DockerBuildxVersion {
|
||||||
$buildxVersion = docker buildx version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "+"
|
$buildxVersion = docker buildx version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||||
return $buildxVersion
|
return $buildxVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,26 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
################################################################################
|
################################################################################
|
||||||
## File: docker-moby.sh
|
## File: docker.sh
|
||||||
## Desc: Installs docker onto the image
|
## Desc: Installs docker onto the image
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Source the helpers for use with the script
|
# Source the helpers for use with the script
|
||||||
|
source $HELPER_SCRIPTS/os.sh
|
||||||
source $HELPER_SCRIPTS/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
|
|
||||||
# Check to see if docker is already installed
|
repo_url="https://download.docker.com/linux/ubuntu"
|
||||||
docker_package=moby
|
gpg_key="/usr/share/keyrings/docker.gpg"
|
||||||
echo "Determing if Docker ($docker_package) is installed"
|
repo_path="/etc/apt/sources.list.d/docker.list"
|
||||||
if ! IsPackageInstalled $docker_package; then
|
|
||||||
echo "Docker ($docker_package) was not found. Installing..."
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o $gpg_key
|
||||||
apt-get remove -y moby-engine moby-cli
|
echo "deb [arch=amd64 signed-by=$gpg_key] $repo_url $(getOSVersionLabel) stable" > $repo_path
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y moby-engine moby-cli
|
apt-get install --no-install-recommends docker-ce docker-ce-cli containerd.io docker-buildx-plugin
|
||||||
apt-get install --no-install-recommends -y moby-buildx
|
|
||||||
apt-get install -y moby-compose
|
# Install docker compose v2 from releases
|
||||||
else
|
URL=$(get_github_package_download_url "docker/compose" "contains(\"compose-linux-x86_64\")")
|
||||||
echo "Docker ($docker_package) is already installed"
|
curl -fsSL $URL -o /usr/libexec/docker/cli-plugins/docker-compose
|
||||||
fi
|
chmod +x /usr/libexec/docker/cli-plugins/docker-compose
|
||||||
|
|
||||||
# Enable docker.service
|
# Enable docker.service
|
||||||
systemctl is-active --quiet docker.service || systemctl start docker.service
|
systemctl is-active --quiet docker.service || systemctl start docker.service
|
||||||
@@ -56,6 +57,10 @@ aws_helper_url=$(curl "${authString[@]}" -fsSL $aws_latest_release_url | jq -r '
|
|||||||
download_with_retries "$aws_helper_url" "/usr/bin" docker-credential-ecr-login
|
download_with_retries "$aws_helper_url" "/usr/bin" docker-credential-ecr-login
|
||||||
chmod +x /usr/bin/docker-credential-ecr-login
|
chmod +x /usr/bin/docker-credential-ecr-login
|
||||||
|
|
||||||
|
# Cleanup custom repositories
|
||||||
|
rm $gpg_key
|
||||||
|
rm $repo_path
|
||||||
|
|
||||||
invoke_tests "Tools" "Docker"
|
invoke_tests "Tools" "Docker"
|
||||||
if [ "${DOCKERHUB_PULL_IMAGES:-yes}" -eq "yes" ]; then
|
if [ "${DOCKERHUB_PULL_IMAGES:-yes}" -eq "yes" ]; then
|
||||||
invoke_tests "Tools" "Docker images"
|
invoke_tests "Tools" "Docker images"
|
||||||
@@ -196,20 +196,6 @@
|
|||||||
],
|
],
|
||||||
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
"execute_command": "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "shell",
|
|
||||||
"scripts": [
|
|
||||||
"{{template_dir}}/scripts/installers/docker-compose.sh",
|
|
||||||
"{{template_dir}}/scripts/installers/docker-moby.sh"
|
|
||||||
],
|
|
||||||
"environment_vars": [
|
|
||||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
|
||||||
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
|
|
||||||
"DOCKERHUB_LOGIN={{user `dockerhub_login`}}",
|
|
||||||
"DOCKERHUB_PASSWORD={{user `dockerhub_password`}}"
|
|
||||||
],
|
|
||||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"scripts": [
|
"scripts": [
|
||||||
@@ -282,6 +268,20 @@
|
|||||||
],
|
],
|
||||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"scripts": [
|
||||||
|
"{{template_dir}}/scripts/installers/docker-compose.sh",
|
||||||
|
"{{template_dir}}/scripts/installers/docker.sh"
|
||||||
|
],
|
||||||
|
"environment_vars": [
|
||||||
|
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
|
||||||
|
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}",
|
||||||
|
"DOCKERHUB_LOGIN={{user `dockerhub_login`}}",
|
||||||
|
"DOCKERHUB_PASSWORD={{user `dockerhub_password`}}"
|
||||||
|
],
|
||||||
|
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"scripts": [
|
"scripts": [
|
||||||
|
|||||||
@@ -280,12 +280,6 @@ build {
|
|||||||
scripts = ["${path.root}/scripts/installers/Install-PowerShellModules.ps1", "${path.root}/scripts/installers/Install-AzureModules.ps1"]
|
scripts = ["${path.root}/scripts/installers/Install-PowerShellModules.ps1", "${path.root}/scripts/installers/Install-AzureModules.ps1"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DOCKERHUB_LOGIN=${var.dockerhub_login}", "DOCKERHUB_PASSWORD=${var.dockerhub_password}"]
|
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
|
||||||
scripts = ["${path.root}/scripts/installers/docker-compose.sh", "${path.root}/scripts/installers/docker-moby.sh"]
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DEBIAN_FRONTEND=noninteractive"]
|
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DEBIAN_FRONTEND=noninteractive"]
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
@@ -350,6 +344,12 @@ build {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
provisioner "shell" {
|
||||||
|
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}", "DOCKERHUB_LOGIN=${var.dockerhub_login}", "DOCKERHUB_PASSWORD=${var.dockerhub_password}"]
|
||||||
|
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
|
scripts = ["${path.root}/scripts/installers/docker-compose.sh", "${path.root}/scripts/installers/docker.sh"]
|
||||||
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${var.installer_script_folder}"]
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
||||||
|
|||||||
Reference in New Issue
Block a user