Elixir ja Phoenix: skaalautuva backend-kehitys · Oppitunti

Konttiteknologia Dockerilla

Paketoikaa Elixir/Phoenix-sovelluksenne Docker-konteiksi yhdenmukaisia ja siirrettäviä käyttöönottoja varten.

Oppitunti 2/411 vaihetta

Konttiteknologia Dockerilla on ilmainen Elixir ja Phoenix: skaalautuva backend-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Elixir ja Phoenix: skaalautuva backend-kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Elixir ja Phoenix: skaalautuva backend-kehitys-kurssilla on yhteensä 4 oppituntia.

Tervetuloa Elixirin Dockerin pariin!

Tässä oppitunnissa opitte paketoimaan Elixir- ja Phoenix-sovelluksia Docker-konteiksi. Tämä tekee julkaisuista yhdenmukaisia ja siirrettäviä eri ympäristöissä.

Dockerin voi ajatella olevan tapa koota sovellus ja kaikki sen riippuvuudet yhteen eristettyyn pakettiin.

Imaget, kontit ja Dockerfile-tiedostot

Määritellään ensin Dockerin keskeiset termit:

  • Image: Kevyt, itsenäinen ja suoritettava paketti, joka sisältää ohjelmiston suorittamiseen tarvittavan kaiken, kuten koodin, ajonaikaisen ympäristön, järjestelmätyökalut, kirjastot ja asetukset.
  • Kontti: Imagen käynnissä oleva instanssi. Se on eristetty prosessi, joka jakaa isäntäkäyttöjärjestelmän ytimen mutta toimii omassa ympäristössään.
  • Dockerfile: Tekstitiedosto, joka sisältää kaikki komennot, joita käyttäjä voi kutsua komentoriviltä imagen kokoamiseksi. Se on imagen rakennusohje.

Miksi Dockeria käytetään Elixirin ja Phoenixin kanssa?

Elixir- ja Phoenix-sovellukset hyötyvät suuresti kontittamisesta:

  • Yhdenmukaiset ympäristöt: Varmistetaan, että sovellus toimii samalla tavalla kehityksestä tuotantoon, ja vältetään "toimii minun koneellani" -ongelmat.
  • Riippuvuuksien hallinta: Erlang/OTP:n, Elixirin versioiden ja järjestelmätason riippuvuuksien hallinta on helppoa.
  • Siirrettävyys: Kontitetun sovelluksen voi ottaa käyttöön missä tahansa Dockeria käyttävässä järjestelmässä paikalliskoneista pilvipalvelimiin.
  • Eristys: Kontit eristävät sovelluksen ja estävät ristiriidat isäntäjärjestelmän muiden ohjelmistojen kanssa.

Yksinkertainen Elixir-komentosarja

Ennen kontittamista tutustutaan yksinkertaiseen Elixir-komentosarjaan. Tallennamme sen tiedostoon nimeltä hello.exs. Komentosarja tulostaa tervehdyksen.

Voitte suorittaa sen paikallisesti komennolla elixir hello.exs.

IO.puts "Hello from Elixir in a container!"

Dockerfile-tiedoston laatiminen

Dockerfile on kuin ohjeisto Docker-imagen rakentamiseen. Tässä on yksinkertainen Dockerfile Elixir-komentosarjaamme varten:

  • FROM: Määrittää base imagen (esimerkiksi virallisen Elixir-imagen).
  • WORKDIR: Asettaa kontin työskentelyhakemiston.
  • COPY: Kopioi tiedostoja isäntäkoneelta konttiin.
  • CMD: Määrittää oletuskomennon, joka suoritetaan kontin käynnistyessä.

Dockerfile-esimerkki: yksinkertainen Elixir

Luodaan Dockerfile samaan hakemistoon kuin hello.exs:

FROM elixir:1.15.7-slim-bullseye valitsee kevyen base imagen, jossa on Elixir 1.15.7. COPY . . kopioi kaiken nykyisestä hakemistosta kontin työskentelyhakemistoon. CMD ["elixir", "hello.exs"] suorittaa komentosarjan.

FROM elixir:1.15.7-slim-bullseye

WORKDIR /app

COPY hello.exs .

CMD ["elixir", "hello.exs"]

Docker-imagen rakentaminen

Kun Dockerfile ja hello.exs ovat valmiina, voitte rakentaa Docker-imagen. Avatkaa pääte samaan hakemistoon ja suorittakaa:

-t my-elixir-app nimeää imagen, jotta siihen on helppo viitata. . kertoo Dockerille, että Dockerfile etsitään nykyisestä hakemistosta.

docker build -t my-elixir-app .

Elixir-kontin suorittaminen

Kun image on rakennettu, voitte suorittaa siitä kontin:

Tämä komento käynnistää uuden kontin imagen my-elixir-app perusteella. Päätteeseen pitäisi tulostua "Hello from Elixir in a container!". Elixir-sovellus toimii nyt eristetyssä Docker-kontissa!

docker run my-elixir-app

Monivaiheiset koonnit tuotantoa varten

Oikeissa Phoenix-sovelluksissa imagen koolla on merkitystä. Monivaiheisten koontien avulla Dockerfilessä voi käyttää useita FROM-määrityksiä pienempien ja turvallisempien imagejen luomiseen.

Tyypillisesti käytössä on "build"-vaihe, jossa riippuvuudet haetaan ja käännetään, sekä "release"-vaihe, johon kopioidaan vain lopullinen käännetty sovellus ja minimaalinen ajonaikainen ympäristö. Tämä pienentää lopullisen imagen kokoa merkittävästi.

Pikatesti: Dockerfilen perusteet

Mikä Dockerfile-ohje määrittää kontin rakentamiseen käytettävän base imagen?

Kertaus: Docker Elixir-sovelluksille

Tutustuimme siihen, miten Docker kontittaa Elixir/Phoenix-sovelluksia ja tarjoaa yhdenmukaisuutta sekä siirrettävyyttä. Opitte Dockerin imagesta, konteista ja niiden määrittämisestä Dockerfile-tiedostolla. Käsittelimme Elixir-sovelluksen rakentamista ja suorittamista kontissa sekä tutustuimme monivaiheisiin koonteihin optimoitujen tuotantoimagejen luomiseksi.

Seuraavaksi voitte tutustua Docker Composeen monipalvelusovelluksia varten tai konttien julkaisemiseen pilveen!

Aloita maksutta

Opi Elixir tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Konttiteknologia Dockerilla” ilmainen?

Kyllä – oppitunnin ”Konttiteknologia Dockerilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Elixir ja Phoenix: skaalautuva backend-kehitys-kurssin, päivitä CoddyKit PROhon. Elixir ja Phoenix: skaalautuva backend-kehitys-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Konttiteknologia Dockerilla”?

Paketoikaa Elixir/Phoenix-sovelluksenne Docker-konteiksi yhdenmukaisia ja siirrettäviä käyttöönottoja varten. Harjoittelet Elixir ja Phoenix: skaalautuva backend-kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Elixir ja Phoenix: skaalautuva backend-kehitys-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Elixir ja Phoenix: skaalautuva backend-kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Konttiteknologia Dockerilla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Elixir ja Phoenix: skaalautuva backend-kehitys-oppitunnilla?

Kyllä. Jokainen Elixir ja Phoenix: skaalautuva backend-kehitys-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Julkaisujen rakentaminen Mix Releasella
  2. Konttiteknologia Dockerilla
  3. Pilvikäyttöönoton strategiat
  4. Käyttöönotot ilman käyttökatkoja ja hot upgrade -päivitykset
← Takaisin: Elixir ja Phoenix: skaalautuva backend-kehitys