Ero sivun ”Docker” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Täydennetty artikkelia. Lisätty yksityiskohtaisempi pikaohje.)
p (Pieni selkeytys.)
 
(3 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 9: Rivi 9:
}}
}}


'''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.
'''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==
Rivi 36: Rivi 36:


Käynnistä ja luo uusi kontti, joka siältää [[Arch Linux]]in ja interaktiivisen [[kuori|kuoren]] (valitsimet <tt>-it</tt>).
Käynnistä ja luo uusi kontti, joka siältää [[Arch Linux]]in ja interaktiivisen [[kuori|kuoren]] (valitsimet <tt>-it</tt>).
  docker run -it archlinux
  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).
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).
Rivi 42: Rivi 45:


Lue Docker-kuvan meta-data tiedot.
Lue Docker-kuvan meta-data tiedot.
  docker image inspect <docker-kuvan-nimi>
  sudo docker image inspect <docker-kuvan-nimi>


Käynnistä kontti (käytä komentoa <tt>docker ps -a</tt> löytääksesi kontin nimen).
Käynnistä kontti (käytä komentoa <tt>docker ps -a</tt> löytääksesi kontin nimen).
  docker start <kontin_nimi_tai_ID>
  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.
Pysäytä kontti.
  docker stop <kontin_nimi_tai_ID>
  sudo docker stop <kontin_nimi_tai_ID>


Poista kontti.
Poista kontti.
  docker rm <kontin_nimi_tai_ID>
  sudo docker rm <kontin_nimi_tai_ID>
 
Poista Docker-kuva.
sudo docker image rm <Docker-kuvan-nimi>


==Katso myös==
==Katso myös==
Rivi 63: Rivi 84:
* [https://www.docker.com/ Docker, Inc. - kotisivut]
* [https://www.docker.com/ Docker, Inc. - kotisivut]
* [https://hub.docker.com Docker Hub] - Siältää virallisia ja yhteisön tekemiä Docker-kuvia.
* [https://hub.docker.com Docker Hub] - Siältää virallisia ja yhteisön tekemiä Docker-kuvia.
* [https://docs.docker.com/engine/security/ - Dockerin tietoturvaan liittyvä dokumentaatio]
* [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://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]
* [https://courses.mooc.fi/org/uh-cs/courses/devops-with-docker Ilmainen DevOps with Docker -MOOC-verkkokurssi - mooc.fi]

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]