window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versjon: 2, } ;(function () { var w = vindu if (w.LeadBooster) { console.warn('LeadBooster finnes allerede') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() HVORDAN MAN DOKKER LEKSJON LÆRT - The Codest
The Codest
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Industrier
    • Fintech og bankvirksomhet
    • E-commerce
    • Adtech
    • Helseteknologi
    • Produksjon
    • Logistikk
    • Bilindustrien
    • IOT
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
Pil tilbake GÅ TILBAKE
2018-09-09
Programvareutvikling

HVORDAN DU DOCKER LÆRDOM

Dawid Polchlopek

Etter at jeg oppdaget at applikasjonen vi har utarbeidet har blitt betydelig utvidet, bestemte jeg meg for å finne en helt ny metode for automatisering av lanseringsprosessen. Det var viktig for meg å finne en løsning som ville gjøre det mulig å aktivere nye funksjoner isolert.

Innledning

Å finne en enklere metode for prosessautomatisering vil være en betydelig forbedring av både mitt eget og hele min virksomhets arbeid. team. Jeg tenkte: "Hvorfor ikke bruke Docker?"

I forberedelsesfasen opprettet jeg to oppsett: ett for frontend-applikasjonen og ett for API-et. Nedenfor kan du se en presentasjon av det jeg har lært i løpet av utviklingsprosessen.

Det første problemet

Jeg vil ha et klonet repository i containeren, så jeg la til en ssh-nøkkel via ADD-kommandoen i Dockerfile:

ADD ~/.ssh/testowy

Og pang! Filen ble ikke funnet. Hvorfor ikke?

La oss anta at vi har følgende mappestruktur:

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

Kjør kommando bygge i login-queue mappen, og du kan bare legge til filer fra den lokale mappen og dens lokale undermapper, f.eks.

Hvis du ønsker å legge til server får du en melding: "Kan ikke forberede kontekst"

Dockerignore

Har du noen gang lurt på hvorfor det tar så lang tid å bygge opp bildet? Kanskje du ikke brukte .dockerignore, for å ignorere filer som ikke er nødvendige i bildet. Den .git mappen skal fjernes automatisk, i tillegg til eventuelle midlertidige filer.

Rekkefølgen av kommandoer i Dockerfilen

Docker lagrer hver linje i Dockerfile, og etter bygging lagres hver linje som et lag. Det er svært viktig å ikke endre rekkefølgen på bestemte kommandoer for ofte.

FRA ubuntu
Kjør apt-get install -y software-properties-common pyton
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

ADD app.js /var/www/app.js

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

Hvis du for eksempel endrer den siste linjen i Dockerfile, vil alle tidligere linjer lastes ned fra hurtigbufferen mens den siste linjen blir endret. Når du erstatter linje nr. 4, vil alle linjer fra linje 4 til slutten bli endret. Av denne grunn er det lurt å plassere kommandoer som ikke skal endres, i begynnelsen av filen.

Kopiering av filer til image

Det er verdt å tenke over hva et gitt bilde skal brukes til. Hvis du trenger det til å starte en tjeneste én gang, kopierer du bare kode innhold direkte til bildet:

COPY . /workdir

Dessverre gjør dette det umulig å redigere filer, og hver gang du vil redigere koden din, må du bygge bildet på nytt.

Hvis du bruker MacOS og ønsker å bruke det innebygde avbildningen til utvikling, må du tilnærme deg denne saken på en litt annen måte. Hvis du vil bruke volumer, må du være forberedt på at dette er en ekstremt treg løsning (f.eks. kopiering av en fil fra verten til containeren gjøres med en hastighet på 4,5 MB/s, mens kopiering internt i containeren gjøres med en hastighet som er 10-20 ganger høyere). Heldigvis, som du kan se på lenkeproblemet har vært kjent, og løsningen er det viktigste for teamet som er ansvarlig for utviklingen av Docker for Mac.

Hvordan kan du bruke Docker til utvikling i denne situasjonen?

Du kan bruke den til eksterne tjenester, f.eks. Redis/PSQL/Elasticsearch, eller bruke ferdige løsninger som tilbyr rsync: https://github.com/brikis98/docker-osx-dev

For å oppsummere

Hvis du har et stort team og ønsker å teste en ny funksjon, vil docker være det ideelle verktøyet! Likevel, ville jeg brukt det til en produksjonslansering av en server? Jeg er ikke helt overbevist ennå...

I tillegg anbefaler jeg noen fremragende artikler:

  • hvordan du tester bilder
  • noe annet om Docker, men som også er verdt å nevne
  • sist, men ikke minst, Docker-dokumentasjon

Relaterte artikler

Programvareutvikling

Bygg fremtidssikre webapper: Innsikt fra The Codests ekspertteam

Oppdag hvordan The Codest utmerker seg når det gjelder å skape skalerbare, interaktive webapplikasjoner med banebrytende teknologi som gir sømløse brukeropplevelser på tvers av alle plattformer. Finn ut hvordan ekspertisen vår driver digital transformasjon og...

THECODEST
Programvareutvikling

Topp 10 Latvia-baserte programvareutviklingsselskaper

I vår nyeste artikkel kan du lese mer om Latvias beste programvareutviklingsselskaper og deres innovative løsninger. Oppdag hvordan disse teknologilederne kan bidra til å løfte virksomheten din.

thecodest
Løsninger for bedrifter og oppskalering

Grunnleggende om Java-programvareutvikling: En guide til vellykket outsourcing

Utforsk denne viktige veiledningen om vellykket outsourcing av Java-programvareutvikling for å øke effektiviteten, få tilgang til ekspertise og drive frem prosjektsuksess med The Codest.

thecodest
Programvareutvikling

Den ultimate guiden til outsourcing i Polen

Den kraftige økningen i outsourcing i Polen er drevet av økonomiske, utdanningsmessige og teknologiske fremskritt, noe som fremmer IT-vekst og et forretningsvennlig klima.

TheCodest
Løsninger for bedrifter og oppskalering

Den komplette guiden til verktøy og teknikker for IT-revisjon

IT-revisjoner sørger for sikre, effektive og kompatible systemer. Les hele artikkelen for å lære mer om viktigheten av dem.

The Codest
Jakub Jakubowicz CTO og medgrunnlegger

Abonner på vår kunnskapsbase og hold deg oppdatert på ekspertisen fra IT-sektoren.

    Om oss

    The Codest - Internasjonalt programvareutviklingsselskap med teknologisentre i Polen.

    Storbritannia - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologisentre

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      The Codest

    • Hjem
    • Om oss
    • Tjenester
    • Casestudier
    • Vet hvordan
    • Karriere
    • Ordbok

      Tjenester

    • Det rådgivende
    • Programvareutvikling
    • Backend-utvikling
    • Frontend-utvikling
    • Staff Augmentation
    • Backend-utviklere
    • Ingeniører i skyen
    • Dataingeniører
    • Annet
    • QA-ingeniører

      Ressurser

    • Fakta og myter om samarbeid med en ekstern programvareutviklingspartner
    • Fra USA til Europa: Hvorfor velger amerikanske oppstartsbedrifter å flytte til Europa?
    • Sammenligning av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinene), Eurasia (Tyrkia)
    • Hva er de største utfordringene for CTO-er og CIO-er?
    • The Codest
    • The Codest
    • The Codest
    • Retningslinjer for personver
    • Vilkår for bruk av nettstedet

    Opphavsrett © 2025 av The Codest. Alle rettigheter forbeholdt.

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