Sisällysluettelo:
- Telakka-ajon komento
- Suorita kontti etualalla
- Suorita kontti irrotetussa tilassa
- Poista säilytysastia poistumisen jälkeen
- Aseta säiliön nimi
- Konttiporttien julkaiseminen
- Tietojen jakaminen (asennusmäärät)
- Suorita kontti interaktiivisesti
- johtopäätös
Docker on alusta, jonka avulla voit kehittää, testata ja ottaa käyttöön sovelluksia kannettavina, omavaraisina säiliöinä, jotka toimivat käytännössä missä tahansa.
docker run
komento luo säilön annetusta kuvasta ja käynnistää säilön annetulla komennolla. Se on yksi ensimmäisistä komennoista, jotka sinun tulee perehtyä työskennellessäsi Dockerin kanssa., käytämme virallista Nginx-kuvaa näyttääksesi erilaisia tapoja suorittaa Docker-säilö.
Telakka-ajon komento
docker run
ajokomento on seuraavassa muodossa:
docker run IMAGE
Sen kuvan nimi, josta säilö tulisi luoda, on ainoa vaadittava argumentti
docker run
-komennolle. Jos kuvaa ei ole läsnä paikallisjärjestelmässä, se poistetaan rekisteristä.
Jos komentoa ei määritetä, Dockerfilen
CMD
tai
ENTRYPOINT
ohjeissa määritetty komento suoritetaan, kun ajetaan säilöä.
Versiosta 1.13 alkaen Docker CLI on rakenneuudistettu ja kaikki komennot on ryhmitelty sen objektin alle, jonka kanssa ne ovat vuorovaikutuksessa.
Koska
run
komento on vuorovaikutuksessa säilöiden kanssa, se on nyt
docker container
. Uuden komennon syntaksi on seuraava:
docker container run IMAGE
Vanhaa, 1.13 edeltävää syntaksia tuetaan edelleen.
docker run
alla
docker run
-komento on aliaksen
docker container run
. Käyttäjiä kannustetaan käyttämään uutta komentojen syntaksia.
Luettelo kaikista Docker-säilöasennuksen vaihtoehdoista löytyy Docker-dokumentaatiosivulta.
Suorita kontti etualalla
Oletusarvon mukaan, kun mitään ei aseteta
docker run
-komennolle,
docker run
käynnistetään etualalla. Tämä tarkoittaa, että juuriprosessin vakiotulo, lähtö ja virhe liitetään pääteistuntoon.
docker container run nginx
Nginx-prosessin lähtö näkyy terminaalissasi. Koska web-palvelimeen ei ole yhteyttä, pääte on tyhjä.
Voit pysäyttää säilön lopettamalla käynnissä olevan Nginx-prosessin painamalla
CTRL+C
Suorita kontti irrotetussa tilassa
Käynnistä se erillisessä tilassa, jotta säilytä säiliö käynnissä, kun poistut terminaaliistunnosta. Tämä on samanlainen kuin Linux-prosessin ajaminen taustalla.
Käytä
-d
asetusta aloittaaksesi irrotetun säiliön:
docker container run -d nginx
050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
Irrotettu säiliö pysähtyy, kun juuriprosessi lopetetaan.
Voit luetteloida käynnissä olevat säilytyslaitteet
docker container ls
-komennolla.
Liitä päätelaite erilliseen
docker container attach
käyttämällä
docker container attach
.
Poista säilytysastia poistumisen jälkeen
Oletuksena, kun säilö poistuu, sen tiedostojärjestelmä jatkuu isäntäjärjestelmässä.
--rm
asetukset
--rm
docker run
-komennon poistamaan säilö, kun se poistuu automaattisesti:
docker container run --rm nginx
Nginx-kuva ei ehkä ole paras esimerkki säilön tiedostojärjestelmän puhdistamiseksi säilön poistumisen jälkeen. Tätä vaihtoehtoa käytetään yleensä etualalla olevissa säiliöissä, jotka suorittavat lyhytaikaisia tehtäviä, kuten testejä tai tietokannan varmuuskopioita.
Aseta säiliön nimi
Dockerissa jokainen säilö tunnistetaan
UUID
ja nimellä. Oletusarvoisesti, jos Docker-demoni luo säiliön nimen automaattisesti, jos sitä ei määritetä erikseen.
Määritä muokattu nimi
--name
vaihtoehdon avulla:
docker container run -d --name my_nginx nginx
Säiliön nimen on oltava yksilöivä. Jos yrität käynnistää toisen samannimisen säilön, saat samanlaisen virheen:
docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.
Suorita
docker container ls -a
jotta
docker container ls -a
kaikki astiat ja näet niiden nimet:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx
Merkitykselliset nimet ovat hyödyllisiä viitaamaan säilöön Docker-verkossa tai suorittaessaan Docker CLI -komentoja.
Konttiporttien julkaiseminen
Oletuksena, jos portteja ei julkaista, säilössä olevaan prosessiin pääsee vain säilön sisäpuolelta.
Porttien julkaiseminen tarkoittaa konttiporttien kartoittamista isäntäkoneen portteihin siten, että portit ovat palveluiden käytettävissä Dockerin ulkopuolella.
Voit julkaista portin käyttämällä
-p
vaihtoehtoja seuraavasti:
-p host_ip:host_port:container_port/protocol
- Jos
host_ipei määritetä, sen oletusarvo on0.0.0.0. Josprotocolei määritetä, TCP: n oletusarvo. Jos haluat julkaista useita portteja, käytä useita pp-vaihtoehtoja.
Karttaaksesi säilön TCP-portti 80 (nginx) porttiin 8080 isäntä localhost-käyttöliittymässä, suorita:
docker container run --name web_server -d -p 8080:80 nginx
Voit varmistaa, että portti on julkaistu avaamalla selaimessa
http://localhost:8080
tai suorittamalla seuraavan
curl
komennon Docker-isännässä:
curl -I
Tulos näyttää tältä:
HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes
Tietojen jakaminen (asennusmäärät)
Kun säilö pysäytetään, kaikki säilön luomat tiedot poistetaan. Docker-volyymit ovat suositeltava tapa saada tiedot säilymään ja jakaa ne useiden säilytysastioiden välillä.
Voit luoda ja hallita taltioita käyttämällä
-p
vaihtoehtoja seuraavasti:
-v host_src:container_dest:options
-
host_srcvoi olla ehdoton polku tiedostoon tai hakemistoon isännässä tai nimetyllehost_src.host_srcon ehdoton polku tiedostoon tai hakemistoonhost_srcvoivat ollarw(read-write) jaro(only-read)). Jos vaihtoehtoa ei määritetä, sen oletusarvo onrw.
Selittääksesi miten tämä toimii, luomalla hakemisto isäntään ja lisäämällä siihen
index.html
tiedosto:
mkdir public_html
echo "Testing Docker Volumes" > public_html/index.html
Asenna seuraavaksi
public_html
hakemisto säilöön
/usr/share/nginx/html
:
docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
Sen sijaan, että määrittäisimme absoluuttisen polun
public_html
hakemistoon, käytämme
$(pwd)
-komentoa, joka tulostaa nykyisen työhakemiston.
Jos kirjoitat selaimeesi
http://localhost:8080
, sinun pitäisi nähdä
index.html
tiedoston sisältö. Voit käyttää myös
curl
:
curl
Suorita kontti interaktiivisesti
Kun käsittelet interaktiivisia prosesseja, kuten
bash
, käytä
-i
ja
-t
-vaihtoehtoja aloittaaksesi säilön.
-it
asetukset käskevät Dockeria pitämään vakiotulon kiinni päätelaitteessa ja varaamaan näennäistiedon:
docker container run -it nginx /bin/bash
Säiliön Bash-kuori kiinnitetään terminaaliin, ja komentorivi muuttuu:
root@1da70f1937f5:/#
Nyt voit olla vuorovaikutuksessa kontin kuoren kanssa ja suorittaa mitä tahansa komentoja sen sisällä.
Tässä esimerkissä toimitimme komennon (
/bin/bash
) argumenttina
docker run
-komennolle, joka suoritettiin Docker-tiedostossa määritetyn sijasta.
johtopäätös
Docker on sovellusten pakkaamisen ja käyttöönoton standardi ja olennainen osa CI / CD, automaatio ja DevOps.
Docker-säilön suorituskomentoa käytetään Docker-säilöjen luomiseen ja ajamiseen.
satamatyöläinenLinuxin leikkauskomento esimerkein
Leikkaa on komentorivi-apuohjelma, jonka avulla voit leikata rivien osia määritellyistä tiedostoista tai pipedistä ja tulostaa tuloksen vakiotulosteeseen. Tässä opetusohjelmassa näytämme sinulle kuinka käyttää Linuxin leikkauskomentoa käytännön esimerkkien ja yksityiskohtaisten selitysten avulla yleisimmistä leikkausvaihtoehdoista.
Linux päiväyskomento esimerkein
Päivämääräkomento näyttää tai asettaa järjestelmän päivämäärän. Sitä käytetään yleisimmin päivämäärän ja ajan tulostamiseen eri muodoissa sekä tulevien ja viimeisten päivämäärien laskemiseen.
Linux tee-komento esimerkein
Tee-komento lukee vakiotulosta ja kirjoittaa sekä vakiolähtöön että yhdelle tai useammalle tiedostolle samanaikaisesti. Tee käytetään yleisimmin yhdessä muiden komentojen kanssa putkiston kautta.







