Hoe kan ek Docker Private Registry op Ubuntu 18 instel?

Docker Registry is ‘n sagtewaretoepassing waarmee u u beelde binne u organisasie kan skep en stoor.


U kan ook u beelde skep en oplaai in die openbare register van Docker Hub. Maar hierdie prente word publiek, en elkeen kan toegang tot u beelde verkry en gebruik. Dit word dus aanbeveel om die privaat register van Docker te gebruik waarmee u u beelde kan beheer en beskerm.

In hierdie handleiding gaan ek verduidelik hoe u ‘n Docker-private register op Ubuntu 18.04 opstel.

vereistes

  • Twee Ubuntu-bedieners met die wortelbewyse
  • ‘N Statiese IP-adres op albei bedieners

Aan die gang kom

Voordat u begin, moet u die resolusie van die gasheernaam op beide stelsels instel. Albei kan dus deur gasheernaam met mekaar kommunikeer.

Om dit te doen, voer die volgende opdrag op albei stelsels uit:

eggo "192.168.0.100 bediener" >> / Etc / hosts
eggo "192.168.0.102 kliënt" >> / Etc / hosts

As u klaar is, kan u voortgaan met die volgende stap.

Installeer Docker

Vervolgens moet u Docker-pakket op albei stelsels installeer. Docker is standaard nie beskikbaar in die Ubuntu 18.04 standaardopslagplek nie. U moet dit dus byvoeg.

Installeer eers die vereiste pakkette met die volgende opdrag:

apt-get install apt-transport-https sagteware-features-common ca-certificates krul -y

Voeg dan die Docker-bewaarplek by met die volgende opdrag:

wget https://download.docker.com/linux/ubuntu/gpg
apt-key voeg gpg by
eggo "deb [arch = amd64] https://download.docker.com/linux/ubuntu bioniese stal" | tee /etc/apt/sources.list.d/docker.list

Opdateer vervolgens die bewaarplek en installeer Docker met die volgende opdrag:

geskik om opdatering te kry -y
geskik vir die installeer van docker-ce -y

Nadat die installasie voltooi is, moet u die status van die docker met die volgende opdrag nagaan:

systemctl status docker

U moet die volgende afvoer sien:

docker.service – Docker-toepassingshouermotor
Gelaai: gelaai (/lib/systemd/system/docker.service; geaktiveer; verskaffer vooraf ingesteld: ingeskakel)
Aktief: aktief (hardloop) sedert Wo 2019-05-01 15:08:45 UTC; 7min gelede
Dokumente: https://docs.docker.com
Hoof-PID: 2658 (dockerd)
Take: 8
CGroup: /system.slice/docker.service
└─2658 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

Installeer Docker-registerhouer

Eerstens moet u die registerhouer op u bedienerstelsel installeer. U kan dit doen deur die volgende opdrag uit te voer:

docker pull register

Nadat die registerprent afgelaai is, sal u die volgende uitvoer sien:

Die gebruik van standaard-etiket: nuutste
nuutste: Onttrek uit biblioteek / registerc
87736221ed0: Trek voltooi
1cc8e0bb44df: Trek voltooi
54d33bcb37f5: Trek voltooi
e8afc091c171: Trek voltooi
b4541f6d3db6: Trek voltooi
Vertering: sha256: 3b00e5438ebd8835bcfa7bf5246445a6b57b9a50473e89c02ecc8e575be3ebb5
Status: nuwer beeld afgelaai vir register: nuutste

Begin nou die registerhouer met die volgende opdrag:

docker run -d -p 5000: 5000 –restart = altyd – noem registerregister

U kan die lopende registerhouer sien met die volgende opdrag:

docker ps

U moet die volgende afvoer sien:

HOUER-ID BEELDBESTUUR GEMAAKTE STATUS-PORTERNAME
4912e461745f register "/entrypoint.sh / ens …" Ongeveer ‘n minuut gelede Op Ongeveer ‘n minuut 0.0.0.0:5000->5000 / tcp register

Skep ‘n Docker-houerbeeld op die kliëntsisteem

U registerbediener is nou gereed om te gebruik. Dit is tyd om ‘n Docker-houerprent op die kliëntsisteem te skep.

Meld eers aan by die kliëntsisteem en skep ‘n dokerfile om Nginx-webbedienerbeeld te bou:

mkdir Beeld
CD Beeld
nano dockerfile

Voeg die volgende reëls by:

UIT ubuntu: 18.04
LABEL-projek ="Nginx-webbedienerbeeld"
LABEL instandhouer "[Email protected]"
RUN \ a
pt-kry opdatering && \
geskik om te installeer -y nginx && \
rm -rf / var / lib / apt / lyste / * && \
eggo "\ ndaemon af;" >> /etc/nginx/nginx.conf && \
chown -R www-data: www-data / var / lib / nginx
# Definieer monteerbare kaarte.
VOLUME ["/ Etc / nginx / terreine-enabled", "/ Etc / nginx / certs", "/etc/nginx/conf.d", "/ Var / log / nginx", "/ Var / www / html"]
# Definieer werkgids. WORKDIR / etc / nginx
# Definieer standaardopdrag.CMD ["nginx"]
# Stel hawe bloot.
BLOOTSTELLING 80
BELEGGING 443

Stoor en maak die lêer toe. Bou dan ‘n Nginx-beeld deur die volgende opdrag uit te voer:

docker build -t ubuntu: nginx .

Nadat u die Nginx-beeld suksesvol gebou het, moet u die volgende uitvoer sien:

—> bc6e61406108
Stap 5/9: VOLUME ["/ Etc / nginx / terreine-enabled", "/ Etc / nginx / certs", "/etc/nginx/conf.d", "/ Var / log / nginx", "/ Var / www / html"]
—> Begin in 30832b7ff816
Tussenhouer 30832b7ff816 verwyder
—> 1940ec1c2225Stap 6/9: WORKDIR / etc / nginx
—> Hardloop in 88755ef2d7c8
Tussenhouer 88755ef2d7c8 verwyder
—> 4fe930c96a73Stap 7/9: CMD ["nginx"]
—> Hardloop in c8d492317d88
Tussenhouer verwyder c8d492317d88
—> 3218acfd15f8Step 8/9: BELEGGING 80
—> Hardloop in 35921ef45db9Verwyder intermediêre houer 35921ef45db9
—> a6a299b86a6dStep 9/9: EXPOSE 443
—> Hardloop in 755441cefe2f
Tussenhouer 755441cefe2f verwyder
—> 9be7dc6b0825
9be7dc6b0825 suksesvol gebou
Ubuntu suksesvol gemerk: nginx

Vervolgens kan u die gegenereerde beeld met die volgende opdrag nagaan:

docker beelde

U nginx-beeld moet in die volgende uitvoer gesien word:

REPOSITORY LAG BEELD ID GESKAPTE GROOTTE
ubuntu nginx 9be7dc6b0825 Ongeveer ‘n minuut gelede 161MB
ubuntu 18.04 d131e0fa2585 4 dae gelede 102MB
register nuutste f32a97de94e1 7 weke gelede 25.8MB

Vervolgens moet u u nginx-prent hernoem in die “registerserver: portnumber / image name: tag” -formaat.

U kan dit doen met die volgende opdrag:

docker-tag ubuntu: nginx-bediener: 5000 / ubuntu: nginx

Laai Nginx-prent op op ‘n privaat registerbediener

U kan nou u gegenereerde Nginx-beeld op die Private Registry Server oplaai met die drukopdrag:

docker-stootbediener: 5000 / ubuntu: nginx

Sodra die prentjie suksesvol opgelaai is, sal u die volgende afvoer sien:

Die druk verwys na bewaarplek [bediener: 5000 / ubuntu]
2e5us8en4s9d: gestoot
l1is9e9d8j7e: gestoot
nginx: verteer: sha256: aa0d8fi49dir0d7rn33nee122b grootte: 1862

U kan ook die opgelaaide prent vanaf die registerbediener aflaai met die volgende opdrag:

docker pull-bediener: 5000 / ubuntu: nginx

Ek hoop dat u nou genoeg kennis het om u eie private docker-registerbediener op ‘n produksieserver op te stel. As u op soek is na meer Docker-praktyke, kry dit gerus aanlyn kursus.

Tags:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map