Na początek logujemy się do OpenShifta tokenem
oc login https://127.0.0.1:8443 --token=viNUjgpTzIReqx-FHRU-c3XEEFojhio4tEQeJ5_3TgElub przez login i hasło
oc login -u admin -p adminKolejnym krokiem jest zalogowanie się do naszego Registry aby wygenerować plik z danymi uwierzytelniającymi:
docker login adres_serweraPlik znajduje się pod adresem "/home/katalog_domowy/.docker/config.json". Teraz musimy wygenerować zasób przechowujący dane uwierzytelniające:
oc create secret generic mojeregistry --from-file=.dockerconfigjson=/katalog_domowy/.docker/config.json --type=kubernetes.io/dockerconfigjsonDalej:
oc secrets link default mojeregistry --for=pullW tym miejscu mała dygresja, a mianowicie OpenShift domyślnie odpala aplikację w kontenerze jako użytkownik o losowym identyfikatorze celem bezpieczeństwa. Prawa są ograniczone i może się tak zdarzyć, że program nie będzie mógł się odpalić. Jeżeli nie można zmienić tego w OpenShifcie to konieczna jest modyfikacja Dockerfile'a. Aby dokonać zmiany w OpenShifcie najpierw wprowadzić
oc secrets link builder mojeregistry --for=pull
oc secrets link deployer mojeregistry --for=pull
oc edit scc restrictedktóra otworzy nam plik jednego z Security Context Constraints.
Odnajdujemy linie
runAsUser:i zamieniamy na
type: MustRunAsRange
runAsUser:Powyższe operacje umożliwią nam pobranie obrazu z prywatnego Registry.
type: RunAsAny