fix(installer): use RHEL Docker repo for Rocky Linux (#9541)
This commit is contained in:
commit
5eb2c90c04
3 changed files with 60 additions and 0 deletions
|
|
@ -539,6 +539,15 @@ install_docker_manually() {
|
|||
echo "Docker installed successfully."
|
||||
fi
|
||||
}
|
||||
|
||||
install_docker_from_rhel_repo() {
|
||||
echo " - Installing Docker from the RHEL repository for Rocky Linux..."
|
||||
rm -f /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce-staging.repo
|
||||
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
|
||||
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
systemctl --now enable docker
|
||||
}
|
||||
|
||||
log_section "Step 3/9: Checking Docker installation"
|
||||
echo "3/9 Checking Docker installation..."
|
||||
if ! [ -x "$(command -v docker)" ]; then
|
||||
|
|
@ -579,6 +588,13 @@ if ! [ -x "$(command -v docker)" ]; then
|
|||
exit 1
|
||||
fi
|
||||
;;
|
||||
"rocky")
|
||||
install_docker_from_rhel_repo
|
||||
if ! [ -x "$(command -v docker)" ]; then
|
||||
echo " - Docker could not be installed automatically. Please visit https://docs.docker.com/engine/install/ and install Docker manually to continue."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"almalinux" | "tencentos")
|
||||
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo >/dev/null 2>&1
|
||||
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin >/dev/null 2>&1
|
||||
|
|
|
|||
|
|
@ -539,6 +539,15 @@ install_docker_manually() {
|
|||
echo "Docker installed successfully."
|
||||
fi
|
||||
}
|
||||
|
||||
install_docker_from_rhel_repo() {
|
||||
echo " - Installing Docker from the RHEL repository for Rocky Linux..."
|
||||
rm -f /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce-staging.repo
|
||||
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
|
||||
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
systemctl --now enable docker
|
||||
}
|
||||
|
||||
log_section "Step 3/9: Checking Docker installation"
|
||||
echo "3/9 Checking Docker installation..."
|
||||
if ! [ -x "$(command -v docker)" ]; then
|
||||
|
|
@ -579,6 +588,13 @@ if ! [ -x "$(command -v docker)" ]; then
|
|||
exit 1
|
||||
fi
|
||||
;;
|
||||
"rocky")
|
||||
install_docker_from_rhel_repo
|
||||
if ! [ -x "$(command -v docker)" ]; then
|
||||
echo " - Docker could not be installed automatically. Please visit https://docs.docker.com/engine/install/ and install Docker manually to continue."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
"almalinux" | "tencentos")
|
||||
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo >/dev/null 2>&1
|
||||
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin >/dev/null 2>&1
|
||||
|
|
|
|||
28
tests/Unit/InstallScriptRockyDockerRepoTest.php
Normal file
28
tests/Unit/InstallScriptRockyDockerRepoTest.php
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
function expectRockyInstallScriptToUseRhelRepo(string $path): void
|
||||
{
|
||||
$installScript = file_get_contents(base_path($path));
|
||||
|
||||
expect($installScript)
|
||||
->toContain('install_docker_from_rhel_repo() {')
|
||||
->toContain('echo " - Installing Docker from the RHEL repository for Rocky Linux..."')
|
||||
->toContain('rm -f /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce-staging.repo')
|
||||
->toContain('dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo')
|
||||
->toContain('dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin')
|
||||
->toContain('systemctl --now enable docker')
|
||||
->toContain('"rocky")')
|
||||
->toContain('install_docker_from_rhel_repo')
|
||||
->not->toContain('dnf -y -q --setopt=install_weak_deps=False install dnf-plugins-core')
|
||||
->not->toContain('dnf5 config-manager addrepo --overwrite --save-filename=docker-ce.repo --from-repofile=https://download.docker.com/linux/rhel/docker-ce.repo')
|
||||
->not->toContain('dnf makecache')
|
||||
->not->toContain('"ubuntu" | "debian" | "raspbian" | "centos" | "fedora" | "rhel" | "rocky" | "sles")');
|
||||
}
|
||||
|
||||
it('uses the rocky linux documented docker install flow in the stable install script', function () {
|
||||
expectRockyInstallScriptToUseRhelRepo('scripts/install.sh');
|
||||
});
|
||||
|
||||
it('uses the rocky linux documented docker install flow in the nightly install script', function () {
|
||||
expectRockyInstallScriptToUseRhelRepo('other/nightly/install.sh');
|
||||
});
|
||||
Loading…
Reference in a new issue