Docker-aloitusopas: Aloita sovelluksesi kontittaminen nopeasti

2/18/2026
4 min read

markdown\n# Docker-aloitusopas: Aloita sovelluksesi kontittaminen nopeasti\n\nDockerista on tullut olennainen osa modernia ohjelmistokehitystä ja -käyttöönottoa. Vaikka Kubernetesin ympärillä käydään paljon keskustelua, Docker on edelleen monien yritysten ensisijainen työkalu sovellusten rakentamiseen, testaamiseen ja käyttöönottoon. Tämä artikkeli opastaa sinut nopeasti Dockerin perusteisiin, ymmärtämään sen ydinkäsitteitä ja tarjoaa käytännön esimerkin, joka auttaa sinua aloittamaan sovelluksesi kontittamisen.\n\n## Dockerin ydinkäsitteet\n\nEnnen kuin aloitat harjoittelun, on tärkeää ymmärtää joitain Dockerin ydinkäsitteitä:\n\n* **Kuva (Image):** Kuva on vain luku -pohjainen malli, joka sisältää kaiken sovelluksen suorittamiseen tarvittavan: koodin, suoritusympäristön, järjestelmätyökalut, kirjastot ja riippuvuudet. Samanlainen kuin virtuaalikoneen kuva, mutta kevyempi.\n\n* **Kontti (Container):** Kontti on kuvan perusteella luotu suoritusesimerkki. Se on kuvan suoritusaikainen ilmentymä, joka sisältää sovelluksen ja kaikki sen riippuvuudet. Kontit on eristetty toisistaan, ja niillä on omat tiedostojärjestelmät, prosessit ja verkkotilat.\n\n* **Docker Hub:** Docker Hub on julkinen kuvavarasto, josta voit ladata valmiita kuvia ja ladata omia kuviasi. Samanlainen kuin GitHub, mutta tarkoitettu Docker-kuville.\n\n* **Dockerfile:** Dockerfile on tekstitiedosto, joka sisältää kaikki Docker-kuvan rakentamiseen tarvittavat ohjeet. Kirjoittamalla Dockerfile-tiedoston voit automatisoida kuvan luontiprosessin.\n\n* **Docker Compose:** Docker Compose on työkalu monikonttisten Docker-sovellusten määrittämiseen ja suorittamiseen. Sen avulla voit määrittää sovelluksen palvelut YAML-tiedostolla ja käynnistää tai pysäyttää kaikki palvelut yhdellä komennolla.\n\n## Dockerin asennus\n\nEnsin sinun on asennettava Docker. Docker tarjoaa asennuspaketteja eri käyttöjärjestelmille. Käy [Dockerin virallisella verkkosivustolla](https://www.docker.com/get-started/) ja noudata vastaavia ohjeita asennusta varten.\n\nAsennuksen jälkeen voit tarkistaa, onko Docker asennettu oikein, suorittamalla komennon `docker --version`.\n\n## Yksinkertaisen Python-sovelluksen kontittaminen\n\nLuomme yksinkertaisen Python-sovelluksen ja kontitamme sen Dockerin avulla.\n\n### 1. Python-sovelluksen luominen\n\nLuo tiedosto nimeltä `app.py`, joka sisältää seuraavan koodin:\n\npython\nfrom flask import Flask\napp = Flask(name)\n\n@app.route(# Sovelluskoodin kopioiminen työkansioon COPY app.py .

Portin 5000 paljastaminen

EXPOSE 5000

Käynnistyskomennon määrittäminen

CMD ["python", "app.py"]


**Dockerfile-selitys:**

*   `FROM python:3.9-slim-buster`: Määrittää pohjakuvan Python 3.9:n kevyeksi versioksi.
*   `WORKDIR /app`: Asettaa kontissa työkansioksi `/app`.
*   `COPY requirements.txt .`: Kopioi nykyisessä hakemistossa olevan `requirements.txt` -tiedoston kontin `/app` -hakemistoon.
*   `RUN pip install --no-cache-dir -r requirements.txt`: Suorittaa kontissa `pip`-komennon ja asentaa `requirements.txt` -tiedostossa määritetyt riippuvuudet. `--no-cache-dir` -parametri voi pienentää kuvan kokoa.
*   `COPY app.py .`: Kopioi nykyisessä hakemistossa olevan `app.py` -tiedoston kontin `/app` -hakemistoon.
*   `EXPOSE 5000`: Ilmoittaa, että kontti kuuntelee porttia 5000.
*   `CMD ["python", "app.py"]`: Määrittää komennon, joka suoritetaan kontin käynnistyessä.

### 4. Docker-kuvan rakentaminen

Suorita seuraava komento `Dockerfile`:n sisältävässä hakemistossa Docker-kuvan rakentamiseksi:

```bash
docker build -t my-python-app .
  • docker build: Komento kuvan rakentamiseksi.
  • -t my-python-app: Määrittää kuvalle nimen (my-python-app).
  • .: Määrittää Dockerfile:n sijainnin (nykyinen hakemisto).

Rakennusprosessi voi kestää jonkin aikaa verkon nopeudesta ja riippuvuuksien koosta riippuen.

5. Docker-kontin suorittaminen

Suorita Docker-kontti seuraavalla komennolla:

docker run -d -p 5000:5000 my-python-app
  • docker run: Komento kontin suorittamiseksi.
  • -d: Suorittaa kontin erillistilassa (taustalla).
  • -p 5000:5000: Kartoittaa isäntäkoneen portin 5000 kontin porttiin 5000.
  • my-python-app: Määrittää käytettävän kuvan nimen.

6. Sovelluksen vahvistaminen

Siirry selaimessa osoitteeseen http://localhost:5000, jolloin pitäisi näkyä "Hello, Docker!".

7. Kontin pysäyttäminen ja poistaminen

Pysäytä kontti seuraavalla komennolla:

docker stop 

`` Voidaan tarkastella komennolla docker ps.

Poista kontti seuraavalla komennolla:

docker rm 

Docker Compose -aloitus

Jos sovelluksesi koostuu useista palveluista, voit hallita niitä Docker Componella.

1. docker-compose.yml-tiedoston luominen

Luo tiedosto nimeltä docker-compose.yml ja lisää seuraava sisältö:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

docker-compose.yml-selitys:* version: "3.9": Määrittää Docker Compose -tiedoston version.

  • services: Määrittelee sovelluksen palvelut.
  • web: Määrittelee palvelun nimeltä "web".
  • image: my-python-app: Määrittää palvelun käyttämän imagon.
  • ports: Määrittelee porttimääritykset.

2. Sovelluksen käynnistäminen

Käynnistä sovellus suorittamalla seuraava komento hakemistossa, joka sisältää docker-compose.yml-tiedoston:

docker-compose up -d
  • docker-compose up: Komento sovelluksen käynnistämiseen.
  • -d: Suorittaa kontit irrotetussa tilassa (taustalla).

3. Sovelluksen pysäyttäminen

Pysäytä sovellus seuraavalla komennolla:

docker-compose down

Dockerin tietoturvan parhaat käytännöt

Kuten keskustelusta käy ilmi, Docker-imagojen tietoturva on tärkeä kysymys. Seuraavassa on joitain Dockerin tietoturvan parhaita käytäntöjä:

  • Käytä virallisia imagoja: Käytä mahdollisuuksien mukaan virallisia imagoja, jotka on yleensä skannattu tietoturvan varalta ja joita ylläpidetään.
  • Skannaa imagot haavoittuvuuksien varalta: Käytä työkaluja, kuten Trivy, skannataksesi imagot tunnettujen haavoittuvuuksien varalta ja päivitä imagot ajoissa.
  • Käytä pienimmän oikeuden periaatetta: Vältä konttien suorittamista root-käyttäjänä.
  • Rajoita konttien resursseja: Rajoita konttien CPU:n ja muistin käyttöä cgroups-ryhmillä.
  • Päivitä imagot säännöllisesti: Pidä imagot ajan tasalla tietoturva-aukkojen korjaamiseksi.
  • Käytä tietoturvaskannaustyökaluja: Työkalut, kuten Snyk ja Clair, voidaan integroida CI/CD-työnkulkuusi imagojen haavoittuvuuksien automaattiseksi skannaamiseksi.

JohtopäätösTämä artikkeli tarjoaa Dockerin pikakäynnistysopaan, joka kattaa ydinkäsitteet, asennusvaiheet ja yksinkertaisen Python-sovelluksen kontitus-esimerkin. Opiskelemalla näitä perusteita voit aloittaa Dockerin käytön sovellustesi rakentamiseen, testaamiseen ja käyttöönottoon. Muista, että turvallisuus on ensiarvoisen tärkeää, ja sinun tulee aina kiinnittää huomiota Docker-imagojen turvallisuuteen ja ryhtyä asianmukaisiin toimenpiteisiin sovelluksesi suojaamiseksi. Vaikka Kubernetes on tehokas suurten konttien orkestroinnissa, Docker on edelleen yksinkertainen ja tehokas ratkaisu monissa tilanteissa. Hallitsemalla Dockerin, pystyt paremmin vastaamaan nykyaikaisen ohjelmistokehityksen ja -käyttöönoton haasteisiin.

Published in Technology

You Might Also Like

Kuinka käyttää pilvilaskentateknologiaa: Rakenna ensimmäinen pilvi-infrastruktuurisi täydellinen opasTechnology

Kuinka käyttää pilvilaskentateknologiaa: Rakenna ensimmäinen pilvi-infrastruktuurisi täydellinen opas

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

Varoitus! Claude Code isänsä Boris Cherny sanoo: Kuukauden kuluttua Plan Modea ei enää käytetä, ohjelmistosuunnittelijan titteli katoaaTechnology

Varoitus! Claude Code isänsä Boris Cherny sanoo: Kuukauden kuluttua Plan Modea ei enää käytetä, ohjelmistosuunnittelijan titteli katoaa

Varoitus! Claude Code isänsä Boris Cherny sanoo: Kuukauden kuluttua Plan Modea ei enää käytetä, ohjelmistosuunnittelijan...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026 Top 10 AI Agentit: Ydinmyyntipisteiden analyysiTechnology

2026 Top 10 AI Agentit: Ydinmyyntipisteiden analyysi

2026 Top 10 AI Agentit: Ydinmyyntipisteiden analyysi Johdanto Nopean tekoälyn kehityksen myötä AI agentit ovat nousseet ...

2026 vuoden Top 10 AI-työkalusuositukset: Vapauta tekoälyn todellinen potentiaaliTechnology

2026 vuoden Top 10 AI-työkalusuositukset: Vapauta tekoälyn todellinen potentiaali

2026 vuoden Top 10 AI-työkalusuositukset: Vapauta tekoälyn todellinen potentiaali Nykyään, kun teknologia kehittyy nopea...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 在快速发展的云计算领域,Amazon Web Services (AWS) 一直是领军者,提供丰富的服务和工具,帮助开发者、企业和技术专家在云上有效工作。以下是2026年值得关注的十大AWS工...