Docker: Pradžia
Greitas ir saugus Docker nuotolinis valdymas su Stackhero for Docker
Sveiki atvykę į Stackhero dokumentaciją
Stackhero siūlo paruoštą naudoti Docker cloud CaaS (Containers as a Service) platformą, sukurtą greitam ir patikimam konteinerių diegimui:
- Diekite į gamybinę aplinką naudodami vieną komandą
docker-compose up. Jokios papildomos konfigūracijos nereikia: tiesiog paleiskite savo konteinerius.- Pasirinkite savo domeno vardą, kuris automatiškai apsaugomas HTTPS (pavyzdžiui: https://api.jusu-imone.com, https://www.jusu-imone.com arba https://backoffice.jusu-imone.com).
- Naudokitės aukštu našumu ir stipria apsauga privačioje, dedikuotoje infrastruktūroje.
- Atnaujinimus pritaikykite vienu paspaudimu – paprastai ir be papildomų pastangų.
Jūsų konteineriai gali veikti gamybinėje aplinkoje maždaug per penkias minutes. Stackhero pasirūpina infrastruktūra, atnaujinimais ir saugumu už jus, kad galėtumėte susitelkti į savo aplikacijų kūrimą. Plačiau skaitykite apie Docker CaaS cloud hosting.
Kaip naudoti Docker CLI nuotoliniu būdu
Docker CLI turi būti įdiegtas jūsų kompiuteryje. Jei dar neįdiegėte, galite jį atsisiųsti iš oficialios Docker svetainės: Docker Desktop.
Naudodami Stackhero for Docker, galite valdyti savo konteinerius nuotoliniu būdu per Docker CLI taip pat, kaip ir lokaliai. Tai reiškia, kad išlaikote įprastą darbo eigą, tačiau dabar komandas vykdote tiesiogiai gamybinėje Docker serverio aplinkoje – saugiai ir efektyviai.
Docker „kontekstai“ (contexts) leidžia tai padaryti. Kontekstai nurodo Docker CLI, kur siųsti jūsų komandas: į vietinį Docker demoną ar į jūsų Stackhero for Docker instanciją. Perjungimas tarp kontekstų yra greitas ir sklandus.
Docker sertifikatų diegimas
Norėdami saugiai prisijungti prie savo Stackhero for Docker instancijos, turite įdiegti jos sertifikatus savo kompiuteryje. Šie sertifikatai užtikrina autentifikavimą ir šifravimą, todėl jūsų ryšys išlieka privatus ir apsaugotas.
Galite naudoti šią komandą sertifikatams atsisiųsti ir įdiegti:
# HOST – jūsų Docker instancijos domeno vardas (<XXXXXX>.stackhero-network.com).
# SERVICE_ID – jūsų Stackhero paslaugos ID.
# CERTIFICATES_PASSWORD – slaptažodis, nustatytas Docker konfigūracijoje Stackhero valdymo pulte.
(export HOST="<XXXXXX>.stackhero-network.com"
export SERVICE_ID="<SERVICE_ID>"
export CERTIFICATES_PASSWORD="<CERTIFICATES_PASSWORD>"
cd /tmp/ \
&& curl -o certificates.tar https://docker:$CERTIFICATES_PASSWORD@$HOST/stackhero/docker/certificates.tar \
&& tar -xf certificates.tar \
&& (docker context rm -f $HOST 2> /dev/null || true) \
&& docker context create $HOST \
--description "$SERVICE_ID ($HOST)" \
--docker "host=tcp://$HOST:2376,ca=ca.pem,cert=cert.pem,key=key.pem")
Ši komanda sukuria Docker kontekstą, pavadintą pagal jūsų paslaugos domeną. Visus galimus kontekstus galite peržiūrėti su:
docker context ls
Jei pakeisite paslaugos domeną, jūsų sertifikatai pasikeis. Turėsite juos įdiegti iš naujo, kad galėtumėte saugiai prisijungti.
Docker konteinerių paleidimas nuotoliniu būdu
Pagal nutylėjimą, docker ps rodo konteinerius jūsų vietiniame kompiuteryje. Pavyzdžiui, vykdant:
docker run --rm alpine wget -q -O - ifconfig.me
bus parodytas jūsų kompiuterio viešasis IP, nes konteineris paleidžiamas lokaliai.
Norėdami dirbti nuotoliniu būdu, perjunkite Docker kontekstą į savo Stackhero for Docker instanciją:
docker context use <XXXXXX>.stackhero-network.com
Nuo šiol visos Docker CLI komandos bus vykdomos jūsų nuotoliniame Docker serveryje. Paleidus tą pačią IP tikrinimo komandą:
docker run --rm alpine wget -q -O - ifconfig.me
bus parodytas jūsų Stackhero for Docker instancijos viešasis IP. Tai patvirtina, kad konteineriai veikia nuotoliniame serveryje.
Norėdami grįžti prie vietinio Docker demono, tiesiog vykdykite:
docker context use default
Kai montuojate tūrį (volume) nuotoliniame konteineryje, matomi failai yra iš nuotolinio serverio, o ne iš jūsų kompiuterio. Pavyzdžiui,
docker run -it -v ${PWD}:/mnt alpineprijungs nuotolinį katalogą, o ne jūsų dabartinį vietinį katalogą.
Diegimas su Docker Compose
Docker Compose taip pat naudoja aktyvų Docker kontekstą. Kai nustatote kontekstą į nuotolinę instanciją su:
docker context use <XXXXXX>.stackhero-network.com
visos Docker Compose komandos bus vykdomos jūsų nuotoliniame serveryje. Taip galite diegti kelių konteinerių aplikacijas taip pat paprastai, kaip ir lokaliai, tik dabar – gamybinėje aplinkoje.
Kontekstų keitimas su
docker contextyra patogu interaktyviam naudojimui. Skriptams ar Makefile failams daugiau lankstumo suteikia aplinkos kintamasisDOCKER_CONTEXT. Daugiau informacijos rasite mūsų pažangioje dokumentacijoje.
Išsamesnės informacijos apie Docker kontekstus rasite oficialioje Docker dokumentacijoje apie kontekstus.