Ympäristömuuttujien välittäminen Docker -säilöön

How Pass Environment Variables Docker Container



Docker on avoimen lähdekoodin ohjelma, joka suorittaa palvelinsovelluksia käyttämällä säilöjä virtuaalikoneiden sijasta. Docker on kehitys- ja isännöintikonfiguraatio, joka käyttää vähemmän resursseja, joten ei ole yllätys, että se lakaisee kehitysmaailmaa. Docker -ympäristömuuttujat ovat merkittäviä tämän menettelyn kannalta, koska ne tallentavat tietoja, jotka ovat yksilöllisiä kullekin ohjelmistoa käyttävälle käyttäjätilille.

Käyttämällä mitä tahansa nykyaikaista JavaScript -kehystä yksittäisen sovelluksen säilön luomiseen saatat huomata, että kokoonpanoasetukset vaihtelevat sen mukaan, missä säilö suoritetaan. Esimerkiksi sovellusliittymäsi perus -URL -osoite voi vaihdella sen mukaan, testaatko vai julkaisetko sovellusta. Kehittäjät käyttävät yleisesti ympäristömuuttujia tämän ongelman ratkaisemiseen, koska koodi toimii taustalla, ympäristön muuttujia käytetään yleensä siellä.





Kuvan rakentamisen aikana meidän on ehkä siirrettävä ympäristötiedot käyttösäiliöön. Tätä varten käytämme sekä ENV- että ARG -komentoja. ARG -komento luo muuttujan, joka voidaan tarjota rakennusprosessin aikana. Kun se on määritetty Dockerfile-tiedostossa, voit käyttää parametria —build-arg sen toimittamiseksi kuvanmuodostajalle. Docker -tiedostossa voi olla lukuisia ARG -ohjeita. Docker -tiedostossa ARG -komento on ainoa, joka voi tulla ennen FROM -käskyä.



ENV -ohje asettaa kuitenkin ympäristömuuttujan, joka puolestaan ​​määrittää ympäristön seuraaville rakennusohjeille. ENV -ohjeeseen pääsee käsiksi rakennusprosessin aikana sekä silloin, kun säiliö käynnistetään —env -lipulla. Emme kuitenkaan voi välittää ENV -käskyä rakennettaessa kuvaa. ARG -direktiivin haittana on se, että se ei voi pysyä kuvan rakentamisen jälkeen. Käytämme ENV: tä ja ARGia ympäristön tietojen välittämiseen kuvan luomisessa. Tässä oppaassa opetamme sinulle, miten ympäristömuuttuja välitetään telakointisäiliöön.



Edellytykset

Ympäristömuuttujien välittämiseksi telakointisäiliöön sinulla on oltava asennettuna Ubuntu 20.04 Linux -järjestelmä. Varmista myös, että asennat järjestelmään Dockerin ajan tasalla olevan version. Jos sitä ei ole järjestelmässä, voit tehdä sen asennuksen käyttämällä alla mainittua komentoa.





$ sudo apt asenna docker.io

Tässä opetusohjelmassa olemme käyttäneet Sudo -avainsanaa, mikä tarkoittaa, että sinulla on oltava sudo -oikeudet tämän artikkelin suorittamiseen.



Menetelmä ympäristömuuttujien välittämiseksi

Jos haluat siirtää ympäristömuuttujat telakkasäilöön, sinun on avattava komentorivin pääte painamalla Ctrl+Alt+T -pikanäppäintä tai etsimällä sitä sovellusvalikosta sen hakupalkin avulla. Noudata nyt alla olevia ohjeita:

Vaihe 1: Vedä kuva
Tässä oppaassa käytämme pientä (5 Mt) Linux -kuvaa Alpinea. Aloita lataamalla kuva paikallisesti käyttämällä seuraavaa komentoa:

$ sudo -telakka vetää alppia: 3

Tulos osoittaa onnistuneen kuvan vetämisen.

Vaihe 2: Ympäristömuuttujien välittäminen
Käyttämällä –env-lippua voimme syöttää ympäristömuuttujia avain-arvo-pareina suoraan komentoriville, kun käynnistät Docker-säilön. Käytämme esimerkkinä seuraavaa liitettyä komentoa:

$ sudo -telakointiasema --env VARIABLE1 = alppialusta: 3

Tälle komennolle ei ole erityistä lähtöä.

Vaihe 3: Ympäristömuuttujien heijastaminen
Heijastamaan ympäristömuuttujia käyttämällä seuraavaa liitettyä komentoa yhdessä avainsanan vienti.

$ vienti VARIABLE2 = foobar2

Tälle komennolle ei ole erityistä lähtöä.

Vaihe 4: Määritä ympäristömuuttujat
Määrittelemättä nyt ympäristömuuttujan arvoa määrittelemättä ympäristömuuttujaa käyttämällä päätelaitteen alla olevaa komentoa:

$ sudo docker run --env MUUTTUVA 2 alpine: 3 env

Tuloksessa näet, että ympäristömuuttuja on siirretty telakointisäiliöön.

Johtopäätös

Tässä artikkelissa olemme pohtineet ympäristömuuttujien käsitettä ja merkitystä dockerissa. Olemme myös toimittaneet sinulle vaiheittaisen oppaan ympäristömuuttujan välittämisestä telakointisäiliöön. Toivon, että sinulla ei ole ongelmia, kun siirrät ympäristömuuttujan telakointisäiliöön.