Kuinka ajaa GUI-pohjaisia sovelluksia Dockerissa

Tässä oppaassa opit, miten ajaa GUI-pohjaisia sovelluksia Docker-säilöissä. Tehokas lähestymistapa kehittämiseen ja testaamiseen eri ympäristöissä ilman tietokoneesi sotkemista.
Dockeria käytetään yleisesti palvelinpuolen ja komentoriviohjelmien ajamiseen. Oikealla asetuksella voit kuitenkin myös ajaa GUI-pohjaisia sovelluksia säilöissä. Nämä säilöt voivat sisältää GUI-kirjastoja ja näyttötyökaluja, mikä mahdollistaa sovellusten suorittamisen turvallisessa ja eristyneessä ympäristössä. Tämä lähestymistapa yksinkertaistaa GUI-sovellusten kehittämistä, testaamista ja käyttöönottoa eri koneilla tai käyttöjärjestelmäympäristöissä. Tämä opas opastaa sinut läpi sen, kuinka suorittaa GUI-sovelluksia Docker-säilöissä vähäisellä asetuksella.
Ymmärrä Docker ja Docker GUI -säilöt
Dockerin avulla voit pakata sovelluksen kaikkine tarvittavine asioineen, kuten koodin, kirjastoineen ja asetuksineen, itseään sisältävään yksikköön, jota kutsutaan säilöksi. Nämä säilöt jakavat isäntäjärjestelmän ytimen, minkä ansiosta ne ovat kevyitä, nopeasti käynnistyviä ja tehokkaita verrattuna täysimittaisiin virtuaalikoneisiin.
GUI-säilöt ovat Docker-asetuksia, jotka sisältävät graafisia sovelluksia, kuten Firefoxia, Geditia tai muita työpöytätyökaluja, mikä mahdollistaa niiden ikkunoiden näkymisen oikealla näytölläsi. Toisin kuin tavalliset säilöt, nämä vaativat lisäasetuksia yhdistääkseen isännän näyttöjärjestelmään, mikä mahdollistaa GUI-elementtien oikean renderöinnin ja vuorovaikutuksen.
Miksi ajaa GUI-sovelluksia Dockerissa?
Alla on keskeisiä syitä, miksi GUI-sovellusten ajaminen Dockerissa voi olla hyödyllistä:
- Kun suoritat GUI-sovellusta Dockerissa, kaikki sen tarvitsema, kuten kirjastot ja asetukset, on pakattu säiliöön. Tämä pitää pääjärjestelmäsi vapaana sotkusta tai konflikteista.
- Dockerin käyttö tarkoittaa, että sovelluksesi toimii samalla tavalla millä tahansa koneella. Kehittämisestä, testaamisesta tai jakamisesta riippumatta ympäristö pysyy johdonmukaisena.
- Säilöt tekevät uuden sovelluksen testaamisen tai virheiden etsinnän helpoksi. Voit suorittaa, keskeyttää tai poistaa niitä vaikuttamatta isäntäkoneeseesi.
- Dockerin avulla voit suorittaa Linux GUI -sovelluksia ei-Linux-järjestelmissä. Tämä onnistuu käyttämällä näyttöjako työkaluja, kuten XQuartzia tai VcXsrv:ta, joten virtuaalikoneelle ei ole tarvetta.
- Toisin kuin perinteiset virtuaalikoneet, Docker-säilöt käyttävät vähemmän järjestelmäresursseja. Ne käynnistyvät nopeammin ja toimivat sujuvammin, jopa GUI-pohjaisille sovelluksille.
Suorita GUI-sovelluksia Dockerissa
Suorittaaksesi GUI-sovelluksia Dockerissa, sinun on ensin varmistettava, että Docker on asennettu Linux-järjestelmääsi. Voit tarkistaa tämän suorittamalla seuraavan komennon:
docker --versionJos tämä komento palauttaa versionumeron, se tarkoittaa, että Docker on asennettu ja toiminnassa. Jos ei, saatat nähdä "komentoa ei löytynyt" -virheen.
Kun Docker on kunnolla asetettu, voit siirtyä seuraaviin vaiheisiin.
Aktivoi Docker-palvelu
Nyt käynnistä Docker-palvelu seuraavalla komennolla:
sudo systemctl start dockerTarkistaaksesi, että Docker-palvelu toimii oikein, suorita:
sudo systemctl status dockerTuloste vahvistaa, että Docker-palvelu on aktiivinen ja toimii ilman ongelmia:
Aseta projektikansio ja Dockerfile
Luodaan hakemisto nimeltä "dockerGUI", johon tallennamme kaikki Docker- ja GUI-sovellusten tiedostot:
mkdir dockerGUISiirry nyt tähän hakemistoon varmistaaksesi, että kaikki seuraavat tiedostot, jotka luomme tai muokkaamme, säilytetään dockerGUI-kansiossa:
cd dockerGUILuodaan uusi tiedosto nimeltä dockerGUIFile määrittämään Docker-kuvan konfigurointi:
nano dockerGUIFileLiitä nyt seuraavat rivit koodia dockerGUIFile-tiedostoon:
FROM jess/firefox
DISPLAY=:0
CMD ["firefox"]
Yllä oleva koodi kertoo Dockerille, että käytetään valmiiksi rakennettua Firefox-kuvaa ja asetetaan näyttöympäristö, jotta käyttögrafiikka voidaan näyttää isäntäjärjestelmässä. Lisäksi se varmistaa, että Firefox käynnistyy automaattisesti, kun kontti käynnistetään.
Huom: Jos haluat kokeilla eri sovellusta, muuta vain kuvaa ja komentoa Dockerfile-tiedostossasi. Esimerkiksi, jotta voit käyttää Gedit-sovellusta, voit käyttää virallista Ubuntu-kuvaa ja asentaa sovelluksen rakennusvaiheessa seuraavasti:
FROM ubuntu
RUN apt-get update && apt-get install -y gedit
ENV DISPLAY=:0
CMD ["gedit"]Rakenna Docker-kuva
Kun Docker-konfiguraatio on nyt asetettu dockerGUIFile-tiedostoon, rakennetaan Docker-kuva seuraavalla komennolla:
sudo docker build -t myfirefox:1 -f dockerGUIFile .Tämä komento rakentaa Docker-kuvan dockerGUIFile-tiedostosta, nimeää sen myfirefox ja tagaa sen numerolla 1, käyttäen nykyistä hakemistoa kontekstina:
Käynnistä Docker-kontti GUI-tuki päällä
Ota nyt käyttöön GUI-tuki Docker-konteille suorittamalla seuraava komento:
xhost +local:dockerTuloste vahvistaa, että paikallisten asiakkaiden (kuten Docker-konttien) sallitaan nyt yhdistyä X-palvelimeeni:
Suorita nyt kontti käyttämällä seuraavaa komentoa, jotta Firefox käynnistyy GUI-tuen kanssa isäntäjärjestelmässäsi:
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix myfirefox:1Tämän komennon seurauksena kontti yhdistetään näyttöön, mikä mahdollistaa Firefoxin avautumisen näytöllesi aivan kuten natiivi sovellus:
Huom: --rm-valinnan käyttäminen saa Dockerin automaattisesti poistamaan kontin sovelluksen sulkemisen jälkeen, mikä pitää järjestelmäsi siistinä ja estää sitä näkymästä docker ps -s:ssa.
Katkaise Docker X-palvelimelta
Kun olet käyttänyt GUI-sovellusta, on suositeltavaa sulkea X-palvelin pääsy turvallisuussyistä:
xhost -local:dockerLoppupohdinnat
GUI-pohjaisten sovellusten ajaminen Dockerissa on loistava tapa laajentaa, mitä kontit voivat tehdä komentorivin lisäksi. Oikean asetuksen kanssa voit käynnistää työpöytäsovelluksia säiliöstä ikään kuin ne olisi asennettu järjestelmääsi. Tämä on yksinkertainen mutta tehokas lähestymistapa testaamiseen, kehittämiseen tai Linux-työkalujen tutkimiseen puhtaassa ympäristössä. Aloita oman GUI-valmiin säiliösi rakentaminen ja hyödynnä täysimääräisesti, mitä Docker tarjoaa Linux-työpöydälläsi.
Nyt kun olet lukenut Kuinka ajaa GUI-pohjaisia sovelluksia Dockerissa loppuun, kutsumme sinut tutustumaan lisää Oppaat-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!

Vastaa