Če ne veste, kaj je register vsebnikov, ne skrbite. To bo postalo jasno, ko dejansko potisnete svojo prvo sliko vsebnika v primerek GitLab. Zaenkrat si o njih mislite kot o skladiščih za slike posod. To niso zagnani vsebniki, ampak samo slike (navadni podatki), ki sedijo v oddaljenem primerku GitLab.
Zakaj bi želeli register vsebnika GitLab?
Obstaja velika verjetnost, da je vaša aplikacija zapakirana kot ena slika Dockerja ali kot zbirka takih slik. To pomeni, da bodo različne različice povezane z različnimi slikami, register vsebnika pa vam bo pomagal, da jih boste posamično spremljali in videli, katere naj bodo združene v določeni izdaji.
Register je za vsebnike, skladišče za izvorno kodo in GitLab je eno mesto za obdelavo vseh.
Pogoji
- Delujoči primerek GitLab prek HTTPS
- Koreninski dostop do primerka
- Dostop za spreminjanje zapisov DNS vašega domene
Predvidevali bomo, da naš GitLab deluje naprej gitlab.primer.com .
Registrska potrdila DNS in TLS
Če želite omogočiti funkcijo registra vsebnika v primerku GitLab, morate biti korenski uporabnik. Posamezni uporabniki se lahko nato odločijo za uporabo te funkcije v svojih projektih, če to želijo. To lahko storite na dva načina:
- Ponovno uporabite obstoječe domensko ime in potrdila TLS za gitlab.primer.com in zaženite register v drugih vratih.
- Recimo drugo domensko ime, recimo, registra.gitlab.primer.com na isti naslov IP, kjer se izvaja GitLab, in tam konfigurirajte register.
Pojdimo z drugo možnostjo, saj je veliko bolj profesionalna.
Korak 1: Dodajte zapis A za registra.gitlab.primer.com kaže na isti IP, kjer se izvaja vaš primerek GitLab.
2. korak: Ustavite storitve gitlab, ki se izvajajo v vašem strežniku.
$ sudo gitlab-ctl stop3. korak: Dodajte odjemalca ACME certbot's PPA v vaš sistem in namestite certbot.
$ sudo add-apt-repository ppa: certbot / certbot$ sudo apt posodobitev
$ sudo apt namestite certbot
4. korak: Pridobite potrdila podjetja Let's Encrypt.
$ certbot certonlyVideli boste sporočilo, kot je:
"'
Kako želite preveriti pristnost z ACME CA?
--
1: Zavrtite začasni spletni strežnik (samostojen)
2: Datoteke položite v imenik webroot (webroot)
--
Izberite ustrezno številko [1-2] in nato [enter] (za preklic pritisnite 'c'): 1
"'
Nato vas bodo prosili za e-poštno sporočilo, se strinjali z njihovimi pogoji storitve in, kar je najpomembneje, vas bomo prosili za ime domene, ki bi bilo registra.gitlab.primer.com v našem primeru. Prejeli boste sporočilo, ali so bila potrdila pridobljena ali ne. Če so, pojdite na 5. korak
5. korak: Zdaj, ko imamo potrdila, je čas, da jih umestimo v GitLab povezane imenike.
$ cp / etc / letsencrypt / live / registry.gitlab.primer.com / polna veriga.pem/ etc / gitlab / ssl / registry.gitlab.primer.crt
$ cp / etc / letsencrypt / live / registry.gitlab.primer.com / privkey.pem
/ etc / gitlab / ssl / registry.gitlab.primer.tipko
Zaščitite dovoljenja zanje:
$ chmod 600 / etc / gitlab / ssl / registry.gitlab.primer.com.*Tako kot preostali del vadnice poskrbite, da boste zamenjali primer.com z obstoječo domeno. Ker bo to ime imenika, kamor je certbot shranil potrdilo.
6. korak: Urejanje konfiguracije GitLab. Odprite datoteko / etc / gitlab / gitlab.rb in na dnu dodajte naslednje vrstice:
register_external_url 'https: // register.gitlab.primer.com 'Če ste vse naredili previdno, je najbolj zapleten del namestitve končan! Zdaj bo vzpostavljen in zagnan register vsebnika, samo zaženite:
$ sudo gitlab-ctl rekonfiguriraj$ sudo gitlab-ctl start
Omogočanje registra in potiskanje slik
Zdaj, ko si moramo priskrbeti register vsebnikov, ustvarimo nov projekt z uporabo spletnega uporabniškega vmesnika GitLab in preverimo, ali deluje.
V levem stolpcu lahko vidite razdelek Registra. Kliknite ga, da si ogledate podrobna navodila za prijavo in potiskanje slik vanjo. Vrnimo se na naše lokalno namizje, na katerem bi moral biti nameščen Docker.
Z njim lahko sestavimo preprost zabojnik hello-world in ga potisnemo v ta register. V lokalnem sistemu ustvarite novo mapo:
$ cd ~$ mkdir sample_container
Znotraj njega ustvarite datoteko z imenom Dockerfile in mu dodajte naslednjo vsebino:
IZ ubuntuja: najnovejše## Tukaj so vaši ukazi po meri
Dockerfile lahko obdržite samo v prvi vrstici. To bo navaden zabojnik ubuntu. Zdaj ga zgradite s smiselno oznako (oznako bomo uporabili moj projekt kar je enako imenu našega projekta GitLab, to je pomembno). V istem imeniku zaženite:
$ docker build -t register.gitlab.primer.com /Ne pozabite zamenjati svojega uporabniškega imena GitLab namesto
Pravkar ustvari vsebnik Ubuntu skupaj s pridobivanjem slike. Ta slika je tisto, kar se potisne. Če spremenite vsebnik in z njim ustvarite novo sliko (z uporabo docker storiti ukaz bo nova slika). Potisnimo sliko vanilijevega ubuntuja v svoj register.
Najprej se moramo prijaviti z uporabniškim imenom in geslom za Gitlab:
$ docker prijavni register.gitlab.primer.comNato zaženite:
$ docker build -t register.gitlab.primer.com / root / my-project .$ docker potisni register.gitlab.primer.com / root / my-project
Če niste prepričani, kakšna naj bo oznaka vašega vsebnika, obiščite stran registra vašega projekta in tam bodo jasna navodila. Če je ukaz docker push pravilno deloval, lahko vidite, kako se v vašem primerku GitLab naloži (ali potisne) nova slika dockerja. Kot je bilo prikazano v mojem primeru:
Zaključek
Nadzor različic je veliko več kot le upravljanje izvorne kode. Nenehno se izboljšuje, tako da ustreza raznovrstnim vrstam zahtev, ki bi jih kateri koli projekt programske opreme nepričakovano potreboval. Register zabojnikov je le vrh ledene gore. V GitLabu lahko omogočite cevovode CD / CI, napredno upravljanje konfiguracije, avtorizacijo prek žetonov in številne druge funkcije. Upam, da ste v tej vadnici izvedeli kaj novega o tej čudoviti tehnologiji.
Sporočite nam, če želite, da pokrijemo kaj!