Ero sivun ”Docker” versioiden välillä

Siirry navigaatioon Siirry hakuun
p tulee
EgoLuser (keskustelu | muokkaukset)
p Pieni selkeytys.
 
(11 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 5: Rivi 5:
| lisenssi=[[Apache-lisenssi|Apache 2.0]]
| lisenssi=[[Apache-lisenssi|Apache 2.0]]
| käyttöliittymä=teksti
| käyttöliittymä=teksti
| kotisivu=[https://www.docker.io/ www.docker.io]
| kotisivu=[https://www.docker.com www.docker.com]
| lähdekoodi=[https://github.com/docker/ github.com/docker/]
}}
}}


'''Docker''' on ohjelma, jonka avulla voi eristää muita ohjelmia toimimaan omissa "säiliöissään". Se mahdollistaa periaatteessa minkä tahansa jakelun sovelluksen käytön kohdekoneessa.
'''Docker''' on ohjelma, jonka avulla voi eristää muita ohjelmia toimimaan omissa "säiliöissään" eli "konteissa". Se mahdollistaa periaatteessa minkä tahansa jakelun sovelluksen käytön kohdekoneessa. Kontit luodaan Docker-kuvan (eng. ''Docker image'') pohjalta. Docker-kuva on tavallaan kuin resepti tai pohjapiirustus, ja Docker-kontti on tavallaan kuin valmis ateria tai talo. Jokainen Docker-kuva määritellään niiden omassa <tt>dockerfile</tt> tiedostossa.


==Asennus==
==Asennus==
Ohjelma löytyy useimpien jakeluiden pakettivarastoista. Nimi kuitenkin vaihtelee jakeluittain: <tt>docker</tt>, <tt>docker-io</tt>, <tt>docker.io</tt>.
Dockerin nimi vaihtelee eri jakeluiden välillä.
{{Asenna|Docker|docker tai docker-io tai docker.io}}


Jotta Dockeria voidaan käyttää tavallisen käyttäjän oikeuksin, tulee dockeria käyttävät käyttäjät lisätä <tt>docker</tt>-ryhmään. Joissain tapauksissa <tt>docker</tt>-ryhmä tulee ensin luoda. Muutokset tulevat voimaan uudelleenkirjautumisen jälkeen.
{{Varoitus|Kaikki Docker-ryhmään kuuluvat käyttäjät saavat samalla [[Root|pääkäyttäjän]] oikeudet käyttöönsä! Etene varoen.[https://github.com/moby/moby/issues/9976]}}
Jotta tavallinen käyttäjä voi käyttää Dockeria ilman [[Sudo]]a tai [[OpenDoas]]ia, tulee Dockeria käyttävät käyttäjät lisätä <tt>docker</tt>-ryhmään. Joissain tapauksissa <tt>docker</tt>-ryhmä tulee ensin luoda. Muutokset tulevat voimaan uudelleenkirjautumisen jälkeen. Tämä ei kuitenkaan ole välttämätön toimenpide, ja on suositeltavaa on olla lisäämättä käyttäjiä <tt>docker</tt>-ryhmään, jos ei ole täysin varma mitä on tekemässä.
{{oikeudet}}
 
Jos haluat lisätä käyttäjän <tt>docker</tt>-ryhmään, voi tehdä sen näin:
  # groupadd docker
  # groupadd docker
  # usermod -aG docker <käyttäjä>
  # usermod -aG docker <käyttäjä>
Rivi 20: Rivi 26:
  # systemctl start docker
  # systemctl start docker


Nyt Dockerin toimivuus voidaan testata <tt>hello-world</tt>illa:
Nyt Dockerin toimivuus voidaan testata <tt>hello-world</tt>illa. Valitsin <tt>-rm</tt> poistaa kontin automaattisesti sen suorittamisen jälkeen.
  $ docker run hello-world
  $ sudo docker run --rm hello-world
 
== Docker pikaohje ==
{{Huomautus|On syytä varmistua Docker-kuvan sisällöstä ennen kuin käyttää sitä.}}
 
Listaa tietokoneella olevat kontit ja niiden tila.
sudo docker ps -a
 
Käynnistä ja luo uusi kontti, joka siältää [[Arch Linux]]in ja interaktiivisen [[kuori|kuoren]] (valitsimet <tt>-it</tt>).
sudo docker run -it archlinux
 
Luo uusi kontti, joka sisältää viimeisimmän version [[MariaDB]]-tietokantapalvelimen [https://hub.docker.com/_/mariadb Docker Hubista] ja käynnistä se taustalla.
sudo docker run -d --env MARIADB_RANDOM_ROOT_PASSWORD=1 mariadb:latest
 
Lataa InterLisp Medleyn sisältävä Docker-kuva [https://hub.docker.com/r/interlisp/medley Docker Hubista] (Huom! <tt>docker run</tt> lataa Docker-kuvan automaattisesti, jos sitä ei löydy tietokoneelta).
sudo docker pull interlisp/medley
 
Lue Docker-kuvan meta-data tiedot.
sudo docker image inspect <docker-kuvan-nimi>
 
Käynnistä kontti (käytä komentoa <tt>docker ps -a</tt> löytääksesi kontin nimen).
sudo docker start <kontin_nimi_tai_ID>
 
Kiinnity taustalla suoritettavaan konttiin.
sudo docker attach <kontin_nimi>
 
Suorita ohjelma tai komento jonkin kontin sisällä.
sudo docker exec <kontin_nimi_tai_ID> <ohjelma_tai_komento>
 
Suorita interaktiivinen [[Bash]]-komentotulkki jonkin kontin sisällä.
sudo docker exec -it <kontin_nimi_tai_ID> bash
 
Kopioi tiedosto kontin sisältä omalle tietokoneelle.
sudo docker cp <kontin_nimi_tai_ID>:/tiedosto oma_tietokone/tiedosto123
 
Kopioi tiedosto '''väliaikaisesti''' kontin siälle. Jos haluat tehdä pysyviä muutoksia, sinun täytyy muokata Docker-kuvan määrittelyn sisältävää <tt>dockerfile</tt>-tiedostoa.
sudo docker cp ./tiedosto <kontin_nimi_tai_ID>:/tiedosto123
 
Pysäytä kontti.
sudo docker stop <kontin_nimi_tai_ID>
 
Poista kontti.
sudo docker rm <kontin_nimi_tai_ID>
 
Poista Docker-kuva.
sudo docker image rm <Docker-kuvan-nimi>
 
==Katso myös==
* [[Podman]]
* [[Distrobox]]
* [[QEMU]]
* [[Virtualbox]]
* [[Alpine Linux]] - Alpine on jakelu, johon monet Docker-kontit pohjautuvat.


==Aiheesta muualla==
==Aiheesta muualla==
* [https://www.docker.com/ Docker, Inc.]
* [https://www.docker.com/ Docker, Inc. - kotisivut]
* [https://github.com/boot2docker/boot2docker boot2docker], minimaalinen jakelu Docker-säiliöiden testaamiseen ja kehitykseen
* [https://hub.docker.com Docker Hub] - Siältää virallisia ja yhteisön tekemiä Docker-kuvia.
* [https://quay.io quay.io] - Toinen kontti-varasto, jota ylläpitää [[Red Hat]].
* [https://docs.docker.com/engine/security/ Dockerin tietoturvaan liittyvä dokumentaatio]
* [https://github.com/boot2docker/boot2docker boot2docker], minimaalinen jakelu Docker-säiliöiden testaamiseen ja kehitykseen.
* [https://courses.mooc.fi/org/uh-cs/courses/devops-with-docker Ilmainen DevOps with Docker -MOOC-verkkokurssi - mooc.fi]


[[Luokka: Emulaattorit ja virtuaalikoneet]]
[[Luokka: Emulaattorit ja virtuaalikoneet]]
[[Luokka:Virtualisointi]]
Noudettu kohteesta ”https://www.linux.fi/wiki/Docker