Zuletzt aktualisiert am 18. März 2021
##############################################################################
#BasisUbuntu20.04Server
# Quelle: https://thenewstack.io/tutorial-install-the-docker-harbor-registry-server-on-ubuntu-18-04/
# Allerdings hatte ich hier Probleme mit dem Docker Compose die Zeilen hab ich über folgenden
Link ausgetauscht.
https://docs.docker.com/compose/install/
##############################################################################
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker
sudo usermod -aG docker ${USER}
#ausloggen und neu anmelden
exit
su – ${USER}
id -nG
sudo apt update
sudo apt upgrade
sudo apt install curl
sudo curl -L „https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)“ -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -version
sudo apt-get install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
wget https://storage.googleapis.com/harbor-releases/release-2.2.0/harbor-offline-installer-v2.2.0.tgz
tar xvzf harbor-offline-installer-v2.2.0.tgz
cd harbor
sudo nano /etc/ssl/openssl.cnf
#####################################################
#nach diesem Abschnitt suchen
#in den Abschnitt V3_ca und folgende Zeile unter den anderen 3 eintragen
subjectAltName = IP:192.168.178.174
#####################################################
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 3650 -out ca.crt
Country Name (2 letter code) [AU]:de
State or Province Name (full name) [Some-State]:RLP
Locality Name (eg, city) []:Dattenberg
Organization Name (eg, company) [Internet Widgits Pty Ltd]:kamperweb
Organizational Unit Name (eg, section) []:none
Common Name (e.g. server FQDN or YOUR name) []:192.168.178.174
Email Address []:stefan@kamper.in
openssl req -newkey rsa:4096 -nodes -sha256 -keyout 192.168.178.174 -out 192.168.178.174
openssl x509 -req -days 3650 -in 192.168.178.174 -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out 192.168.178.174
sudo mkdir -p /etc/docker/certs.d/192.168.178.174
sudo cp *.crt *.key /etc/docker/certs.d/192.168.178.174
nano harbor.yml
#hostname = harberIP http Port auf 8080 ändern, 443 aktivieren certificate Pfade anpassen
#########################################################################
# Configuration file of Harbor
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.178.174
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 8080
# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /etc/docker/certs.d/192.168.178.174/ca.crt
private_key: /etc/docker/certs.d/192.168.178.174/ca.key
#######################################################################
# in der config weiter unten könnt ihr noch das admin pw ändern default ist Harbor12345
#######################################################################
sudo ./install.sh
#nun sollte der harbor unter der IP erreichbar sein
https://192.168.178.174
#um den Habor von Kubernetes nutzen zu können, muss noch das ca.crt in unseren Master01
# und den beiden Nodes
#dazu auf dem Master folgenden Ordner anlegen:
# um das ca.crt von A nach B zu schieben empfielt sich Filezilla
sudo mkdir /etc/docker/certs.d/IP-address-of-harbor/
cd /etc/docker/certs.d/IP-address-of-harbor/
#in den Ordner unser ca.crt hochladen und einmal docker neustartet
sudo systemctl restart docker.service
docker login https://IP-address-of-harbor
###################################################################
#Das gleiche müsst ihr auch auf den Nodes machen sonst könnt ihr euch einlogen
#eure Image ablegen aber nicht mit Kubenetes deployen
###################################################################
#WARNING! Your password will be stored unencrypted in /home/ubuntu/.docker/config.json.
#Configure a credential helper to remove this warning. See
#https://docs.docker.com/engine/reference/commandline/login/#credentials-store
#Login Succeeded
#####################################################################
#datei hochladen mit
sudo docker push IP-address-of-harbor/PROJECT/REPOSITORY[:TAG]
#####################################################################