Edellisessä opetusohjelmassa näytimme kuinka Docker asennetaan. Tässä opetusohjelmassa tutkitaan eniten käytettyjä Docker-komentoja.
Kuinka oppia lisää Docker-komennoista
Avaa pääteemulaattori ja kirjoita:
docker
Tämä antaa sinulle nopean yleiskatsauksen argumenteista, jotka docker
komento ja mitä he tekevät. Vieritä ylös nähdäksesi ne kaikki. Voit tarkkailla sitä docker cp
”Kopioi tiedostot / kansiot säilön ja paikallisen tiedostojärjestelmän välillä”. Mutta se ei riitä tietoa. Kun haluat lisätietoja tietystä alikomennosta, lisää vain --help
lopussa. Esimerkki:
docker cp --help
Docker-kuvan löytäminen ja vetäminen
Aluksi kuvat saatetaan sekoittaa itse säiliöihin. Kuvat ovat perusta, josta kontti alkaa. Sitten se voidaan vaihtaa (astia) millä tahansa tarpeellisella tavalla. Joten sinulla voi olla kuva, kuten ”httpd”, ja pyöritä kontteja ”website1” ja ”website2”.
Voit etsiä kuvaa käyttämällä komentoa, kuten:
docker search apache
Voit myös hakea Docker Hub jos haluat käyttää verkkoselainta.
Tarvittavan kuvan kopioiminen:
docker pull httpd
Ilmeisesti korvaisit “httpd” tarvitsemasi kuvan nimellä.
Kuinka ajaa ja pysäyttää Docker Container
Jos haluat luoda säilön tästä kuvasta ja suorittaa sen, kirjoita:
docker run -d --name=http-server --publish 80:80 httpd
-d
ajaa säiliön taustalla irrottamalla sen ulostulosta.--name
määrittää, miten haluat nimetä säilön.--publish hostPort:containerPort
julkaisee säilössä olevan portin isäntäjärjestelmällesi. Apache palvelee pyyntöjä portissa 80, mutta vain säiliön sisällä (eristetty). Yllä käytetyn komentoparametrin avulla isäntäjärjestelmän portin 80 pyynnöt ohjataan säiliön porttiin 80, mikä antaa sinulle olennaisesti reitin päästä kontin sisälle. Tämä tarkoittaa, että jos avaat nyt selaimen isäntäjärjestelmässä ja kirjoitat osoiteriville “localhost”, muodostat yhteyden säilössäsi toimivaan verkkopalvelimeen.
Voit tarkastella käynnissä olevia säilöjä seuraavasti:
docker ps
Voit tarkastella suljettuja säilöjä seuraavasti:
docker ps -a
Sulje säiliö kirjoittamalla docker stop name-of-container
. Esimerkiksi:
docker stop http-server
Kun haluat käynnistää säiliön uudelleen:
docker start http-server
Ja jos haluat luoda uuden säilön Apache-kuvasta:
docker run -d --name=http-server2 --publish 8080:80 httpd
Huomaa tällä kertaa, että porttia 8080 käytettiin 80: n sijaan. Joten se ei ole ristiriidassa toisen säilön kanssa. Pääset tähän, kirjoita localhost:8080
selaimessasi.
Docker-kontin mukauttaminen
Usein sinun on kopioitava tiedostot säilöön. Jos haluat kopioida isäntäjärjestelmästä säilöön, komennon syntaksi on docker cp /path/to/local/file/or/directory name-of-container:/path/to/container/directory/or/file
.
Esimerkiksi:
docker cp /bin/ls http-server:/tmp
Jos haluat kopioida säilöstä isäntään, käytä docker cp name-of-container:/path/to/container/file/or/directory /path/to/local/file/or/directory
.
docker cp http-server:/etc /tmp
Joskus sinun on myös ”astuttava” astioihin avaamalla kuori niiden sisällä. Näin voit muokata tiedostoja, asentaa lisää binäärejä ja mukauttaa niitä tarpeidesi mukaan.
docker exec -it http-server /bin/bash
Nyt voit esimerkiksi muokata “index.html” ja luoda kotisivun verkkosivustolle.
Säiliön kuoresta poistuminen:
exit
Docker-konttien ja kuvien poistaminen
Ennen kuin poistat säilön, sinun on ensin pysäytettävä se:
docker stop http-server2
Nyt voit poistaa astian seuraavilla tavoilla:
docker rm http-server2
Mutta itse asiassa kuvat vievät enemmän levytilaa kuin tavallisesti kontit. Voit poistaa ne seuraavilla tavoilla:
docker rmi httpd
Tämä ei toimi, ennen kuin pysäytät ja poistat kaikki kyseisestä kuvasta riippuvat säilöt.
Johtopäätös
Dockerista on kehittynyt melko monimutkainen projekti. Mutta voit hitaasti kaivaa jokaisen komennon tutustumalla manuaalisiin sivuihin. Esimerkiksi: man docker run
näyttää sinulle kaiken docker run
komentoparametrit, kuten kuinka asetetaan ensisijainen IP-osoite kullekin säilölle tai kuinka rajoitetaan muistin käyttöä. Hitaasti, mutta varmasti, voit hallita jokaisen Docker-komennon lukemalla ohjekirjan sivut.