Docker: Gamybos platforma
Ši dokumentacija yra Node.js vadovo dalis. Visą vadovą rasite čia: Kaip naudoti ir diegti Node.js programą su 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ą!
Jei dar neturite Stackhero for Docker paslaugos, galite ją lengvai sukurti iš savo Stackhero prietaisų skydelio. Ji bus aktyvuota per maždaug 2 minutes.
Jei esate naujas Stackhero vartotojas, galite išbandyti Docker konteinerių debesų talpinimą nemokamai mėnesį.
Paruošti pirmąjį diegimą į gamybą
Prieš diegdami savo programą į gamybą, turite paruošti keletą konfigūracijos failų:
- Nukopijuokite
secrets/global.production.exampleįsecrets/global.production. - Redaguokite
secrets/global.productionir pakeiskite<XXXXXX>.stackhero-network.comį savo Docker paslaugos pagrindinį vardą iš savo Stackhero prietaisų skydelio. - Nukopijuokite
secrets/my-app.production.exampleįsecrets/my-app.production. - Redaguokite
secrets/my-app.productionir įveskite savo prisijungimo duomenis. - Atnaujinkite
docker/docker-compose.production.yml, pakeisdami<XXXXXX>.stackhero-network.comį savo Docker paslaugos pagrindinį vardą.
Diegti į gamybą
Diegimas į gamybą yra paprastas: vykdykite:
make production-deploy
Ši komanda sukuria Docker konteinerį, perkelia jūsų projekto duomenis ir siunčia juos į jūsų Docker paslaugą gamyboje. Atidarykite naršyklę ir naršykite į savo Docker paslaugos pagrindinį vardą (pvz., https://<XXXXXX>.stackhero-network.com). Turėtumėte matyti, kaip jūsų REST API atsako "Hello World".
Taip pat galite naudoti
make production, kuris diegia jūsų konteinerius ir rodo realaus laiko žurnalus.
Rodyti žurnalus
Norėdami stebėti savo gamybos aplinką arba spręsti problemas, galite peržiūrėti savo žurnalus naudodami šias komandas:
- Norėdami transliuoti tiesioginius žurnalus, vykdykite:
make production-logs-live - Norėdami gauti visus saugomus žurnalus, vykdykite:
make production-logs - Norėdami gauti konkrečios dienos žurnalus (pakeiskite
YYYY-MM-DDnorima data), vykdykite:make production-logs | grep "YYYY-MM-DD"
Pritaikyti domenų vardus
Jei norite naudoti kitą domeno vardą vietoj https://<XXXXXX>.stackhero-network.com, Stackhero for Docker integruoja Traefik, kad supaprastintų domenų valdymą. Traefik tvarko HTTP maršrutizavimą ir TLS šifravimą (HTTPS) už jus.
Štai keletas pavyzdžių, kaip pritaikyti savo domenų vardus:
-
Norėdami aptarnauti
api.my-company.comper savo konteinerįmy-app5000 prievade su TLS šifravimu, atnaujinkitedocker/docker-compose.production.ymlfailą, pakeisdamilabelsskyrių:labels: - "traefik.enable=true" # Įjungti Traefik, kad nukreiptų srautą į šį konteinerį - "traefik.http.routers.my-app.rule=Host(`api.my-company.com`)" # Apibrėžti pagrindinį vardą - "traefik.http.routers.my-app.tls.certresolver=letsencrypt" # Naudoti letsencrypt TLS sertifikatams - "traefik.http.services.my-app.loadbalancer.server.port=5000" # Nurodyti 5000 prievadą -
Norėdami aptarnauti
my-company.comper savo konteinerįmy-app5000 prievade ir nukreipti visas užklausas išwww.my-company.comįmy-company.com, atnaujinkitelabelsskyrių tame pačiame faile:labels: - "traefik.enable=true" - "traefik.http.routers.my-app.rule=Host(`my-company.com`) || Host(`www.my-company.com`)" # Įtraukti abu domenus - "traefik.http.routers.my-app.tls.certresolver=letsencrypt" - "traefik.http.services.my-app.loadbalancer.server.port=5000" # Nurodyti 5000 prievadą # Nukreipti www.my-company.com į my-company.com: - "traefik.http.routers.my-app.middlewares=redirect-www" - "traefik.http.middlewares.redirect-www.redirectregex.regex=^https://www.my-company.com/(.*)" - "traefik.http.middlewares.redirect-www.redirectregex.replacement=https://my-company.com/$${1}" - "traefik.http.middlewares.redirect-www.redirectregex.permanent=true"
Nepamirškite sukonfigūruoti DNS
my-company.comirwww.my-company.com, kad kiekvienas nurodytų kaip CNAME į jūsų Docker paslaugąhttps://<XXXXXX>.stackhero-network.com.