The Codest
  • O nás
  • Služby
    • Vývoj softwaru
      • Vývoj frontendů
      • Vývoj backendu
    • Staff Augmentation
      • Vývojáři frontendů
      • Vývojáři backendu
      • Datoví inženýři
      • Cloudoví inženýři
      • Inženýři QA
      • Další
    • To Advisory
      • Audit a poradenství
  • Odvětví
    • Fintech a bankovnictví
    • E-commerce
    • Adtech
    • Healthtech
    • Výroba
    • Logistika
    • Automobilový průmysl
    • IOT
  • Hodnota za
    • CEO
    • CTO
    • Manažer dodávek
  • Náš tým
  • Case Studies
  • Vědět jak
    • Blog
    • Setkání
    • Webové semináře
    • Zdroje
Kariéra Spojte se s námi
  • O nás
  • Služby
    • Vývoj softwaru
      • Vývoj frontendů
      • Vývoj backendu
    • Staff Augmentation
      • Vývojáři frontendů
      • Vývojáři backendu
      • Datoví inženýři
      • Cloudoví inženýři
      • Inženýři QA
      • Další
    • To Advisory
      • Audit a poradenství
  • Hodnota za
    • CEO
    • CTO
    • Manažer dodávek
  • Náš tým
  • Case Studies
  • Vědět jak
    • Blog
    • Setkání
    • Webové semináře
    • Zdroje
Kariéra Spojte se s námi
Šipka zpět ZPĚT
2018-09-09
Vývoj softwaru

JAK NA DOCKER POUČENÍ

Dawid Polchlopek

Protože jsem si všiml, že se námi připravovaná aplikace výrazně rozšířila, rozhodl jsem se najít zcela novou metodu automatizace procesu jejího spuštění. Bylo pro mě důležité najít řešení, které by umožnilo aktivovat nové funkce izolovaně.

Úvod

Objevení jednodušší metody automatizace procesů by znamenalo výrazné zlepšení mé práce i práce celého mého týmu. tým. Napadlo mě: "Proč nepoužít Docker?"

Během přípravné fáze jsem vytvořil dvě nastavení: jedno pro front-endovou aplikaci a druhé pro API. Níže si můžete prohlédnout prezentaci toho, co jsem se během ní naučil. proces vývoje.

První problém

Chci mít v kontejneru klonované úložiště, proto jsem přidal ssh klíč pomocí příkazu ADD v souboru Dockerfile:

PŘIDAT ~/.ssh/testowy

A bum! Soubor nebyl nalezen. Proč?

Předpokládejme, že máme následující strukturu složek:

docker/
|-- stuff/
|-- test.txt
|-- Dockerfile
server/
|-- data
|-- setup.yml

Spustit příkaz sestavit v login-queue a můžete přidávat pouze soubory z místní složky a jejích místních podsložek, např. věci.

Pokud chcete přidat server se zobrazí zpráva: "nelze připravit kontext".

Dockerignore

Přemýšleli jste někdy o tom, proč se obraz vytváří tak dlouho? Možná jste nepoužili .dockerignore, aby se ignorovaly soubory, které nejsou v obrázku nutné. Na adrese .git by měla být automaticky odstraněna, stejně jako všechny dočasné soubory.

Pořadí příkazů v souboru Docker

Docker uloží každý řádek do souboru Dockerfile a po sestavení je každý řádek uložen jako vrstva. Je velmi důležité neměnit pořadí jednotlivých příkazů příliš často.

Z ubuntu
Spustit apt-get install -y software-properties-common python
RUN add-apt-repository ppa:chris-lea/node.js
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise universe" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nodejs
RUN apt-get install -y nodejs=0.6.12~dfsg1-1ubuntu1
RUN mkdir /var/www

PŘIDAT app.js /var/www/app.js

CMD ["/usr/bin/node", "/var/www/app.js"]

Pokud například změníte poslední řádek v souboru Dockerfile, všechny předchozí řádky budou staženy z mezipaměti, zatímco poslední řádek bude změněn. Pokud nahradíte řádek č. 4, budou upraveny všechny řádky počínaje řádkem 4 až do konce. Z tohoto důvodu se vyplatí umístit příkazy, které se nebudou měnit, na začátek souboru.

Kopírování souborů do obrazu

Stojí za to zvážit, k čemu bude daný obrázek použit. Pokud jej potřebujete ke spuštění služby jen jednou, stačí zkopírovat soubor kód obsah přímo do obrázku:

KOPIE . /workdir

Bohužel to znemožňuje úpravu souborů a pokaždé, když chcete upravit kód, musíte obraz vytvořit znovu.

Pokud používáte systém MacOS a chcete používat sestavenou bitovou kopii pro vývoj, musíte k této záležitosti přistupovat trochu jinak. Pokud budete používat svazky, pak se musíte připravit na to, že se jedná o extrémně pomalé řešení (např. kopírování souboru z hostitele do kontejneru probíhá rychlostí 4,5 MB/s, zatímco kopírování uvnitř kontejneru rychlostí 10-20x vyšší). Naštěstí, jak můžete vidět na odkaz, je tento problém znám a jeho řešení je klíčovou otázkou pro tým odpovědný za vývoj Dockeru pro Mac.

Jak můžete v této situaci použít Docker pro vývoj?

Můžete jej použít pro externí služby, např. Redis/PSQL/Elasticsearch, nebo použít hotová řešení, která nabízejí rsync: https://github.com/brikis98/docker-osx-dev

Shrnuto a podtrženo

Pokud máte velký tým a chcete otestovat novou funkci, docker bude ideálním nástrojem! Nicméně, použil bych ho pro produkční spuštění serveru? Zatím o tom nejsem zcela přesvědčen...

Dále doporučuji několik vynikajících článků:

  • jak testovat obrázky
  • něco jiného o Dockeru, ale také stojí za zmínku
  • v neposlední řadě dokumentace Docker

Související články

Ilustrace zdravotnické aplikace pro chytré telefony s ikonou srdce a rostoucím zdravotním grafem, označená logem The Codest, která představuje digitální zdraví a řešení HealthTech.
Vývoj softwaru

Softwarové vybavení pro zdravotnictví: a případy použití

Nástroje, na které se dnes zdravotnické organizace spoléhají, se v ničem nepodobají papírovým kartám z doby před desítkami let. zdravotnický software dnes podporuje zdravotnické systémy, péči o pacienty a moderní poskytování zdravotní péče v klinických a...

NEJKRÁSNĚJŠÍ
Abstraktní ilustrace klesajícího sloupcového grafu se stoupající šipkou a zlatou mincí symbolizující efektivitu nákladů nebo úspory. V levém horním rohu se zobrazuje logo The Codest se sloganem "In Code We Trust" na světle šedém pozadí.
Vývoj softwaru

Jak rozšířit tým vývojářů bez ztráty kvality produktu

Zvětšujete svůj vývojový tým? Zjistěte, jak růst, aniž byste museli obětovat kvalitu produktu. Tento průvodce se zabývá příznaky, že je čas na škálování, strukturou týmu, najímáním zaměstnanců, vedením a nástroji - a také tím, jak může The Codest...

NEJKRÁSNĚJŠÍ
Vývoj softwaru

Vytváření webových aplikací odolných vůči budoucnosti: postřehy týmu odborníků The Codest

Zjistěte, jak společnost The Codest vyniká při vytváření škálovatelných, interaktivních webových aplikací pomocí nejmodernějších technologií, které poskytují bezproblémové uživatelské prostředí na všech platformách. Zjistěte, jak naše odborné znalosti podporují digitální transformaci a obchodní...

NEJKRÁSNĚJŠÍ
Vývoj softwaru

10 nejlepších lotyšských společností zabývajících se vývojem softwaru

V našem nejnovějším článku se dozvíte o nejlepších lotyšských společnostech zabývajících se vývojem softwaru a jejich inovativních řešeních. Zjistěte, jak mohou tito technologičtí lídři pomoci pozvednout vaše podnikání.

thecodest
Podniková a škálovací řešení

Základy vývoje softwaru v jazyce Java: A Guide to Outsourcing Successfully

Prozkoumejte tuto základní příručku o úspěšném vývoji softwaru outsourcing Java, abyste zvýšili efektivitu, získali přístup k odborným znalostem a dosáhli úspěchu projektu s The Codest.

thecodest

Přihlaste se k odběru naší znalostní databáze a získejte aktuální informace o odborných znalostech z oblasti IT.

    O nás

    The Codest - Mezinárodní společnost zabývající se vývojem softwaru s technologickými centry v Polsku.

    Spojené království - ústředí

    • Kancelář 303B, 182-184 High Street North E6 2JA
      Londýn, Anglie

    Polsko - Místní technologická centra

    • Kancelářský park Fabryczna, Aleja
      Pokoju 18, 31-564 Krakov
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polsko

      The Codest

    • Home
    • O nás
    • Služby
    • Case Studies
    • Vědět jak
    • Kariéra
    • Slovník

      Služby

    • To Advisory
    • Vývoj softwaru
    • Vývoj backendu
    • Vývoj frontendů
    • Staff Augmentation
    • Vývojáři backendu
    • Cloudoví inženýři
    • Datoví inženýři
    • Další
    • Inženýři QA

      Zdroje

    • Fakta a mýty o spolupráci s externím partnerem pro vývoj softwaru
    • Z USA do Evropy: Proč se americké startupy rozhodly přesídlit do Evropy?
    • Srovnání technických vývojových center v zahraničí: Tech Offshore Evropa (Polsko), ASEAN (Filipíny), Eurasie (Turecko)
    • Jaké jsou hlavní výzvy CTO a CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2026 by The Codest. Všechna práva vyhrazena.

    cs_CZCzech
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech