window.pipedriveLeadboosterConfig = { base: pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on jo olemassa') } 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 }) }, } } })() MITEN TELAKOINTI OPPITUNTI - The Codest
Codest
  • Tietoa meistä
  • Palvelut
    • Ohjelmistokehitys
      • Frontend-kehitys
      • Backend-kehitys
    • Staff Augmentation
      • Frontend-kehittäjät
      • Backend-kehittäjät
      • Tietoinsinöörit
      • Pilvi-insinöörit
      • QA insinöörit
      • Muut
    • Se neuvoa-antava
      • Tilintarkastus & konsultointi
  • Toimialat
    • Fintech & pankkitoiminta
    • E-commerce
    • Adtech
    • Terveysteknologia
    • Valmistus
    • Logistiikka
    • Autoteollisuus
    • IOT
  • Arvo
    • TOIMITUSJOHTAJA
    • CTO
    • Toimituspäällikkö
  • Tiimimme
  • Tapaustutkimukset
  • Tiedä miten
    • Blogi
    • Tapaamiset
    • Webinaarit
    • Resurssit
Työurat Ota yhteyttä
  • Tietoa meistä
  • Palvelut
    • Ohjelmistokehitys
      • Frontend-kehitys
      • Backend-kehitys
    • Staff Augmentation
      • Frontend-kehittäjät
      • Backend-kehittäjät
      • Tietoinsinöörit
      • Pilvi-insinöörit
      • QA insinöörit
      • Muut
    • Se neuvoa-antava
      • Tilintarkastus & konsultointi
  • Arvo
    • TOIMITUSJOHTAJA
    • CTO
    • Toimituspäällikkö
  • Tiimimme
  • Tapaustutkimukset
  • Tiedä miten
    • Blogi
    • Tapaamiset
    • Webinaarit
    • Resurssit
Työurat Ota yhteyttä
Takaisin nuoli PALAA TAAKSE
2018-09-09
Ohjelmistokehitys

MITEN TELAKOINTI OPPITUNTI

Dawid Polchlopek

Siitä lähtien, kun huomasin, että valmistelemamme sovellus on laajentunut merkittävästi, olen päättänyt löytää täysin uuden menetelmän sen käynnistämisprosessin automatisoimiseksi. Minulle oli tärkeää löytää ratkaisu, joka mahdollistaisi uusien ominaisuuksien aktivoinnin erikseen.

Johdanto

Yksinkertaisemman prosessiautomaatiomenetelmän löytäminen olisi merkittävä parannus sekä minun että koko yritykseni työhön. joukkue. Ajattelin, että miksi en käyttäisi Dockeria."

Valmisteluvaiheessa loin kaksi asetusta: toisen etusovellusta varten ja toisen API:ta varten. Alla näet esityksen siitä, mitä olen oppinut kehitysprosessin aikana.

Ensimmäinen ongelma

Haluan, että kontissa on kloonattu arkisto, joten lisäsin ssh-avaimen Dockerfileen komennolla ADD:

ADD ~/.ssh/testowy

Ja pam! Tiedostoa ei löydy. Miksi?

Oletetaan, että meillä on seuraava kansiorakenne:

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

Suorita komento rakentaa vuonna login-queue kansioon ja voit lisätä tiedostoja vain paikallisesta kansiosta ja sen paikallisista alikansioista, esim. stuff.

Jos haluat lisätä palvelin kansioon, saat viestin: "Kontekstin valmistelu ei onnistu"

Dockerignore

Oletko koskaan miettinyt, miksi kuvan rakentaminen kestää niin kauan? Ehkä et käyttänyt .dockerignore, jättää huomiotta tiedostot, joita ei tarvita kuvassa. Osoite .git kansio pitäisi poistaa automaattisesti, samoin kuin kaikki väliaikaiset tiedostot.

Komentojen järjestys Dockerfile-tiedostossa

Docker tallentaa jokaisen rivin Dockerfile-tiedoston muodossa ja rakentamisen jälkeen jokainen rivi tallennetaan kerroksena. On erittäin tärkeää, ettei tiettyjen komentojen järjestystä muuteta liian usein.

FROM ubuntu
SUORITA 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 /etc/apt/sources.list
SUORITA 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"]

Jos esimerkiksi muutat Dockerfile-tiedoston viimeistä riviä, kaikki aiemmat rivit ladataan välimuistista, kun taas viimeistä riviä muutetaan. Kun vaihdat rivin nro 4, kaikkia rivejä rivistä 4 loppuun asti muutetaan. Tästä syystä komennot, jotka eivät muutu, kannattaa sijoittaa tiedoston alkuun.

Tiedostojen kopioiminen kuvaan

Kannattaa miettiä, mihin tiettyä kuvaa käytetään. Jos tarvitset sitä palvelun käynnistämiseen kerran, kopioi vain tiedosto koodi sisältö suoraan kuvaan:

COPY . /workdir

Valitettavasti tämä tekee tiedostojen muokkaamisen mahdottomaksi, ja aina kun haluat muokata koodia, sinun on rakennettava kuva uudelleen.

Jos käytät MacOS-käyttöjärjestelmää ja haluat käyttää rakennettua kuvaa kehitykseen, sinun on lähestyttävä asiaa hieman eri tavalla. Jos aiot käyttää volyymiä, sinun on varauduttava siihen, että tämä on äärimmäisen hidas ratkaisu (esim. tiedoston kopiointi isännästä konttiin tapahtuu 4,5 MB/s nopeudella, kun taas kontin sisäinen kopiointi tapahtuu 10-20 kertaa nopeammin). Onneksi, kuten näet osoitteessa linkki, ongelma on ollut tiedossa, ja sen ratkaisu on Docker for Macin kehittämisestä vastaavan tiimin keskeinen asia.

Miten voit käyttää Dockeria kehitystyöhön tässä tilanteessa?

Voit käyttää sitä ulkoisiin palveluihin, esimerkiksi Redis/PSQL/Elasticsearch, tai käyttää valmiita ratkaisuja, jotka tarjoavat rsync:n: https://github.com/brikis98/docker-osx-dev

Yhteenvetona

Jos sinulla on suuri tiimi ja haluat testata uutta ominaisuutta, docker on ihanteellinen työkalu! Käyttäisinkö sitä kuitenkin palvelimen tuotantokäyttöön? En ole vielä täysin vakuuttunut...

Lisäksi suosittelen muutamia erinomaisia artikkeleita:

  • miten testata kuvia
  • Jotain muuta Dockerista, mutta myös mainitsemisen arvoinen asia
  • viimeisenä mutta ei vähäisimpänä, Dockerin dokumentaatio

Aiheeseen liittyvät artikkelit

Ohjelmistokehitys

Tulevaisuuden web-sovellusten rakentaminen: The Codest:n asiantuntijatiimin näkemyksiä

Tutustu siihen, miten The Codest loistaa skaalautuvien, interaktiivisten verkkosovellusten luomisessa huipputeknologian avulla ja tarjoaa saumattomia käyttäjäkokemuksia kaikilla alustoilla. Lue, miten asiantuntemuksemme edistää digitaalista muutosta ja liiketoimintaa...

THECODEST
Ohjelmistokehitys

Top 10 Latviassa toimivaa ohjelmistokehitysyritystä

Tutustu Latvian parhaisiin ohjelmistokehitysyrityksiin ja niiden innovatiivisiin ratkaisuihin uusimmassa artikkelissamme. Tutustu siihen, miten nämä teknologiajohtajat voivat auttaa nostamaan liiketoimintaasi.

thecodest
Yritys- ja skaalausratkaisut

Java-ohjelmistokehityksen perusteet: A Guide to Outsourcing Successfully

Tutustu tähän keskeiseen oppaaseen Java-ohjelmistokehityksen onnistuneesta ulkoistamisesta tehokkuuden parantamiseksi, asiantuntemuksen saamiseksi ja projektin onnistumiseksi The Codestin avulla.

thecodest
Ohjelmistokehitys

Perimmäinen opas ulkoistamiseen Puolassa

Ulkoistamisen lisääntyminen Puolassa johtuu taloudellisesta, koulutuksellisesta ja teknologisesta kehityksestä, joka edistää tietotekniikan kasvua ja yritysystävällistä ilmapiiriä.

TheCodest
Yritys- ja skaalausratkaisut

Täydellinen opas IT-tarkastustyökaluihin ja -tekniikoihin

Tietotekniikan tarkastuksilla varmistetaan turvalliset, tehokkaat ja vaatimustenmukaiset järjestelmät. Lue lisää niiden merkityksestä lukemalla koko artikkeli.

Codest
Jakub Jakubowicz teknologiajohtaja ja toinen perustaja

Tilaa tietopankkimme ja pysy ajan tasalla IT-alan asiantuntemuksesta.

    Tietoa meistä

    The Codest - Kansainvälinen ohjelmistokehitysyritys, jolla on teknologiakeskuksia Puolassa.

    Yhdistynyt kuningaskunta - pääkonttori

    • Toimisto 303B, 182-184 High Street North E6 2JA
      Lontoo, Englanti

    Puola - Paikalliset teknologiakeskukset

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsova, Puola

      Codest

    • Etusivu
    • Tietoa meistä
    • Palvelut
    • Tapaustutkimukset
    • Tiedä miten
    • Työurat
    • Sanakirja

      Palvelut

    • Se neuvoa-antava
    • Ohjelmistokehitys
    • Backend-kehitys
    • Frontend-kehitys
    • Staff Augmentation
    • Backend-kehittäjät
    • Pilvi-insinöörit
    • Tietoinsinöörit
    • Muut
    • QA insinöörit

      Resurssit

    • Faktoja ja myyttejä yhteistyöstä ulkoisen ohjelmistokehityskumppanin kanssa
    • Yhdysvalloista Eurooppaan: Miksi amerikkalaiset startup-yritykset päättävät muuttaa Eurooppaan?
    • Tech Offshore -kehityskeskusten vertailu: Tech Offshore Eurooppa (Puola), ASEAN (Filippiinit), Euraasia (Turkki).
    • Mitkä ovat teknologiajohtajien ja tietohallintojohtajien tärkeimmät haasteet?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Verkkosivuston käyttöehdot

    Tekijänoikeus © 2025 by The Codest. Kaikki oikeudet pidätetään.

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