Docker: Pradžia
Kaip pradėti naudotis Stackhero for Docker
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Docker cloud CaaS (Containers as a Service) sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Lengvai diekite savo konteinerius į gamybą su paprastu
docker-compose up.- Pritaikomas domeno vardas su HTTPS apsauga (pavyzdžiui, https://api.jusu-imone.com, https://www.jusu-imone.com, https://backoffice.jusu-imone.com).
- Optimali veikla ir tvirta apsauga naudojant privačią ir dedikuotą VM.
- Paprasti atnaujinimai vienu paspaudimu.
Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių išbandyti Stackhero Docker CaaS cloud hosting sprendimą ir diegti savo konteinerius į gamybą!
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 čia: https://www.docker.com/products/docker-desktop/.
Naudodami Stackhero for Docker, galite prisijungti prie savo Docker serverio nuotoliniu būdu iš savo kompiuterio taip, kaip dirbtumėte lokaliai. Ši konfigūracija leidžia išlaikyti įprastą darbo eigą ir suteikia patikimą būdą valdyti konteinerius gamyboje.
Tam naudojami Docker "kontekstai". Docker kontekstai leidžia naudoti Docker CLI jūsų kompiuteryje ir nurodyti, kur komandos turėtų būti vykdomos: jūsų vietiniame Docker daemone (kaip įprasta) arba jūsų Stackhero for Docker instancijoje.
Įdiegti Docker sertifikatus
Norėdami prisijungti nuotoliniu būdu prie savo Stackhero for Docker instancijos, pirmiausia turėsite įdiegti jos sertifikatus. Šie sertifikatai užtikrina saugų autentifikavimą ir šifravimą tarp jūsų kompiuterio ir jūsų Stackhero for Docker instancijos.
Savo kompiuteryje galite naudoti šią komandą:
# HOST yra jūsų Stackhero for Docker instancijos domeno vardas (<XXXXXX>.stackhero-network.com).
# SERVICE_ID yra jūsų Stackhero paslaugos ID.
# CERTIFICATES_PASSWORD yra slaptažodis, nustatytas jūsų Stackhero for Docker konfigūracijoje.
(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")
Dabar sukūrėte Docker kontekstą, pavadintą pagal jūsų paslaugos domeno vardą. Norėdami peržiūrėti visus savo kontekstus, galite paleisti komandą docker context ls.
įspėjimas Jei atnaujinsite savo paslaugos domeną, sertifikatai pasikeis ir turėsite juos iš naujo įdiegti.
Paleisti Docker konteinerius nuotoliniu būdu
Šiuo metu, jei išvardinsite savo konteinerius su komanda docker ps, jūsų Docker CLI naudos jūsų vietinį Docker daemoną, rodydamas konteinerius, veikiančius jūsų kompiuteryje.
Pavyzdžiui, galite paleisti šią komandą, kad gautumėte savo Docker daemono viešąjį IP: docker run --rm alpine wget -q -O - ifconfig.me. Kadangi konteineris veikia jūsų kompiuteryje, atsakymu matysite savo interneto maršrutizatoriaus IP.
Pakeiskime Docker kontekstą, kad naudotume jūsų Stackhero for Docker instanciją. Tiesiog paleiskite komandą docker context use <XXXXXX>.stackhero-network.com. Dabar Docker komandos, inicijuotos jūsų kompiuteryje, bus vykdomos saugiai jūsų nuotoliniame Docker daemone.
Paleiskite tą pačią komandą dar kartą, kad gautumėte savo Docker daemono viešąjį IP: docker run --rm alpine wget -q -O - ifconfig.me. Dabar turėtumėte matyti savo Stackhero for Docker instancijos viešąjį IP, patvirtinantį, kad jūsų konteineris veikia jūsų serveryje, o ne jūsų kompiuteryje.
Norėdami grįžti prie savo vietinio Docker daemono naudojimo, tiesiog pakeiskite savo Docker kontekstą į "default": docker context use default.
Kai montuojate tūrį nuotoliniame konteineryje, prieinami duomenys bus tie, kurie yra nuotoliniame serveryje, o ne jūsų kompiuteryje. Todėl paleidus komandą kaip
docker run -it -v ${PWD}:/mnt alpinenebus montuojamas katalogas iš jūsų kompiuterio, kaip galėtumėte tikėtis.
Diegti su Docker-Compose
Kaip ir Docker CLI, Docker-compose CLI naudos jūsų esamą kontekstą. Todėl, kai perjungsite į savo nuotolinę instanciją su docker context use <XXXXXX>.stackhero-network.com, kiekviena Docker-compose komanda taip pat bus vykdoma jūsų nuotolinėje instancijoje.
Naudoti
docker contextkomandą yra efektyvu, bet tai gali nebūti geriausias būdas tvarkant kontekstus jūsų skriptuose ar Makefile failuose. Tokiais atvejais apsvarstykite galimybę naudoti aplinkos kintamąjįDOCKER_CONTEXT, kuris yra išsamiai aprašytas mūsų pažangios dokumentacijos puslapiuose.