Ero sivun ”Docker” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(kotisivu talteen)
 
p (Pieni selkeytys.)
 
(17 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
'''Docker''' on ohjelma joka mahdollistaa periaatteessa minkä tahansa jakelun sovelluksen käytön kohdekoneessa.
{{Ohjelma
| nimi=Docker
| kuva=[[Tiedosto:Docker logo.png|200px]]
| kuvateksti=
| lisenssi=[[Apache-lisenssi|Apache 2.0]]
| käyttöliittymä=teksti
| 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" 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==
Dockerin nimi vaihtelee eri jakeluiden välillä.
{{Asenna|Docker|docker tai docker-io tai docker.io}}
 
{{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
# usermod -aG docker <käyttäjä>
 
Ennen kuin Dockeria voidaan käyttää, tulee Docker daemon käynnistää.
# systemctl start docker
 
Nyt Dockerin toimivuus voidaan testata <tt>hello-world</tt>illa. Valitsin <tt>-rm</tt> poistaa kontin automaattisesti sen suorittamisen jälkeen.
$ 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.io/ Docker ohjelman kotisivu]
* [https://www.docker.com/ Docker, Inc. - kotisivut]
* [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]]

Nykyinen versio 17. huhtikuuta 2025 kello 12.50

Docker

Käyttöliittymä teksti
Lisenssi Apache 2.0
Kotisivu www.docker.com
Lähdekoodi github.com/docker/

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 dockerfile tiedostossa.

Asennus[muokkaa]

Dockerin nimi vaihtelee eri jakeluiden välillä. Docker löytyy useimpien jakeluiden paketinhallinnasta nimellä docker tai docker-io tai docker.io. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.


Varoitus!!! Kaikki Docker-ryhmään kuuluvat käyttäjät saavat samalla pääkäyttäjän oikeudet käyttöönsä! Etene varoen.[1]


Jotta tavallinen käyttäjä voi käyttää Dockeria ilman Sudoa tai OpenDoasia, tulee Dockeria käyttävät käyttäjät lisätä docker-ryhmään. Joissain tapauksissa docker-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ä docker-ryhmään, jos ei ole täysin varma mitä on tekemässä.

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.

Jos haluat lisätä käyttäjän docker-ryhmään, voi tehdä sen näin:

# groupadd docker
# usermod -aG docker <käyttäjä>

Ennen kuin Dockeria voidaan käyttää, tulee Docker daemon käynnistää.

# systemctl start docker

Nyt Dockerin toimivuus voidaan testata hello-worldilla. Valitsin -rm poistaa kontin automaattisesti sen suorittamisen jälkeen.

$ sudo docker run --rm hello-world

Docker pikaohje[muokkaa]

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 Linuxin ja interaktiivisen kuoren (valitsimet -it).

sudo docker run -it archlinux

Luo uusi kontti, joka sisältää viimeisimmän version MariaDB-tietokantapalvelimen 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 Docker Hubista (Huom! docker run 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 docker ps -a 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ää dockerfile-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[muokkaa]

Aiheesta muualla[muokkaa]