1

我正在尝试在 CentOS 7 主机上安装 Harbor 2.4.1。我已经安装了 docker 和 docker-compose。但是我尝试运行 ./install.sh 来安装港口我收到了消息

[grafra1969@docker-registry harbor]$ sudo ./install.sh --with-notary --with-trivy --with-chartmuseum

[Step 0]: checking if docker is installed ...

Note: docker version: 20.10.12

[Step 1]: checking docker-compose is installed ...
✖ Need to install docker-compose(1.18.0+) by yourself first and run this script again.
[grafra1969@docker-registry harbor]$ ls ..
certs  harbor  harbor-online-installer-v2.4.1.tgz  harbor-online-installer-v2.4.1.tgz.asc

Docker 和 docker-compose 可用。问题是什么?

[grafra1969@docker-registry harbor]$ docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:44:05 2021
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
[grafra1969@docker-registry harbor]$
4

2 回答 2

0

这是作曲家安装的一个错误/问题,我刚刚遇到了同样的问题并设法通过运行来修复它:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

然后为了防止安装程序覆盖您刚刚创建的符号链接,您需要从安装程序中删除 docker 和 docker-compose 安装。

你应该有一个看起来像这样的 sh 文件:

#!/bin/bash

#Harbor on Ubuntu 18.04

#Prompt for the user to ask if the install should use the IP Address or Fully Qualified Domain Name of the Harbor Server
PS3='Would you like to install Harbor based on IP or FQDN? '
select option in IP FQDN
do
    case $option in
        IP)
            IPorFQDN=$(hostname -I|cut -d" " -f 1)
            break;;
        FQDN)
            IPorFQDN=$(hostname -f)
            break;;
     esac
done

# Housekeeping
apt update -y
swapoff --all
sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab
ufw disable #Do Not Do This In Production
echo "Housekeeping done"

#Install Latest Stable Harbor Release
HARBORVERSION=$(curl -s https://github.com/goharbor/harbor/releases/latest/download 2>&1 | grep -Po [0-9]+\.[0-9]+\.[0-9]+)
curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | grep online | cut -d '"' -f 4 | wget -qi -
tar xvf harbor-online-installer-v$HARBORVERSION.tgz
cd harbor
sed -i "s/reg.mydomain.com/$IPorFQDN/g" harbor.yml
./install.sh --with-clair --with-chartmuseum
echo -e "Harbor Installation Complete \n\nPlease log out and log in or run the command 'newgrp docker' to use Docker without sudo\n\nLogin to your harbor instance:\n docker login -u admin -p Harbor12345 $IPorFQDN"

在所有这些之后,您可以通过不使用命令运行它们来检查是否安装了 docker 和 docker-compose,如果确实安装了它们,您现在可以运行新的安装程序 sh 文件。

另外,将自己添加到 docker 组中sudo usermod -a -G docker <YOUR_USER>,以确保这不是问题。

有关此问题的更多信息,请查看Github

于 2022-01-30T16:00:51.103 回答
0

我的问题是由于我在 /usr/local/bin 中安装了 docker-compose 引起的。我认为这将是一个很好的位置,因为它在我的用户的 PATH 和用户 root 的 PATH 中。但是我没有考虑到,sudo 使用了不同的 PATH。此安全路径在 /etc/sudoers 中配置,不包含 /usr/local/bin。所以我决定将 docker-compose 脚本移动到 /usr/bin 并且安装程序的措辞很好。

于 2022-01-31T08:23:19.840 回答