Panduan Memulakan Docker: Mulakan dengan Pantas Mengkontainerkan Aplikasi Anda

2/18/2026
6 min read

Panduan Memulakan Docker: Mulakan dengan Pantas Mengkontainerkan Aplikasi Anda

Docker telah menjadi bahagian penting dalam pembangunan dan penggunaan perisian moden. Walaupun perbincangan mengenai Kubernetes meluas, Docker masih merupakan alat pilihan bagi banyak syarikat untuk membina, menguji dan menggunakan aplikasi. Artikel ini akan membawa anda untuk memulakan Docker dengan pantas, memahami konsep terasnya, dan menyediakan contoh praktikal untuk membantu anda memulakan pengkontaineran aplikasi anda.

Konsep Teras Docker

Sebelum memulakan latihan, adalah penting untuk memahami beberapa konsep teras Docker:

  • Imej (Image): Imej ialah templat baca sahaja yang mengandungi semua yang diperlukan untuk menjalankan aplikasi: kod, persekitaran masa jalan, alat sistem, pustaka dan kebergantungan. Ia serupa dengan imej mesin maya, tetapi lebih ringan.

  • Kontena (Container): Kontena ialah contoh yang berjalan yang dicipta daripada imej. Ia adalah contoh masa jalan imej, yang mengandungi aplikasi dan semua kebergantungannya. Kontena diasingkan antara satu sama lain dan mempunyai sistem fail, proses dan ruang rangkaian mereka sendiri.

  • Docker Hub: Docker Hub ialah repositori imej awam tempat anda boleh memuat turun imej yang telah dibina atau memuat naik imej anda sendiri. Ia serupa dengan GitHub, tetapi khusus untuk imej Docker.

  • Dockerfile: Dockerfile ialah fail teks yang mengandungi semua arahan untuk membina imej Docker. Dengan menulis Dockerfile, anda boleh mengautomasikan proses penciptaan imej.

  • Docker Compose: Docker Compose ialah alat untuk mentakrifkan dan menjalankan aplikasi Docker berbilang kontena. Ia membolehkan anda menggunakan fail YAML untuk mengkonfigurasi perkhidmatan aplikasi, dan kemudian menggunakan satu arahan untuk memulakan atau menghentikan semua perkhidmatan.

Pemasangan Docker

Pertama, anda perlu memasang Docker. Docker menyediakan pakej pemasangan untuk pelbagai sistem pengendalian. Lawati Laman Web Rasmi Docker dan ikut arahan yang sesuai untuk memasang.

Selepas pemasangan selesai, anda boleh menjalankan arahan docker --version untuk mengesahkan sama ada Docker dipasang dengan betul.

Mengkontainerkan Aplikasi Python Mudah

Kami akan mencipta aplikasi Python mudah dan mengkontainerkannya menggunakan Docker.

1. Cipta Aplikasi Python

Cipta fail bernama app.py, yang mengandungi kod berikut:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

Aplikasi Flask mudah ini akan mengembalikan "Hello, Docker!" pada laluan akar /.

2. Cipta Fail requirements.txt

Aplikasi ini bergantung pada pustaka Flask, dan kita perlu mencipta fail requirements.txt untuk mengisytiharkan kebergantungan ini.

Flask

3. Cipta Dockerfile

Cipta fail bernama Dockerfile, dan tambahkan kandungan berikut:

# Gunakan imej Python rasmi sebagai imej asas
FROM python:3.9-slim-buster

# Tetapkan direktori kerja
WORKDIR /app

# Salin fail requirements.txt ke direktori kerja
COPY requirements.txt .

# Pasang kebergantungan
RUN pip install --no-cache-dir -r requirements.txt

Menggunakan imej Python rasmi sebagai imej asas - Menggunakan imej Python rasmi sebagai imej asas

Tetapkan direktori kerja - Menetapkan direktori kerja

Salin fail requirements.txt ke direktori kerja - Menyalin fail requirements.txt ke direktori kerja

Pasang kebergantungan - Memasang kebergantungan# Salin kod aplikasi ke direktori kerja

COPY app.py .

Dedahkan port 5000

EXPOSE 5000

Takrifkan arahan permulaan

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


**Penerangan Dockerfile:**

*   `FROM python:3.9-slim-buster`: Menentukan imej asas sebagai versi ringkas Python 3.9.
*   `WORKDIR /app`: Menetapkan direktori kerja dalam kontena kepada `/app`.
*   `COPY requirements.txt .`: Menyalin fail `requirements.txt` dari direktori semasa ke direktori `/app` dalam kontena.
*   `RUN pip install --no-cache-dir -r requirements.txt`: Menjalankan arahan `pip` dalam kontena untuk memasang kebergantungan yang ditentukan dalam fail `requirements.txt`. Parameter `--no-cache-dir` boleh mengurangkan saiz imej.
*   `COPY app.py .`: Menyalin fail `app.py` dari direktori semasa ke direktori `/app` dalam kontena.
*   `EXPOSE 5000`: Mengisytiharkan bahawa kontena akan mendengar pada port 5000.
*   `CMD ["python", "app.py"]`: Mentakrifkan arahan yang akan dilaksanakan apabila kontena dimulakan.

### 4. Bina Imej Docker

Dalam direktori yang mengandungi `Dockerfile`, jalankan arahan berikut untuk membina imej Docker:

```bash
docker build -t my-python-app .
  • docker build: Arahan untuk membina imej.
  • -t my-python-app: Menentukan nama untuk imej (my-python-app).
  • .: Menentukan direktori tempat Dockerfile berada (direktori semasa).

Proses pembinaan mungkin mengambil sedikit masa, bergantung pada kelajuan rangkaian dan saiz kebergantungan.

5. Jalankan Kontena Docker

Gunakan arahan berikut untuk menjalankan kontena Docker:

docker run -d -p 5000:5000 my-python-app
  • docker run: Arahan untuk menjalankan kontena.
  • -d: Menjalankan kontena dalam mod terpisah (berjalan di latar belakang).
  • -p 5000:5000: Memetakan port 5000 hos kepada port 5000 kontena.
  • my-python-app: Menentukan nama imej yang akan digunakan.

6. Sahkan Aplikasi

Dalam pelayar web, lawati http://localhost:5000, anda sepatutnya dapat melihat "Hello, Docker!".

7. Hentikan dan Padam Kontena

Gunakan arahan berikut untuk menghentikan kontena:

docker stop 

`` boleh didapati melalui arahan docker ps.

Gunakan arahan berikut untuk memadam kontena:

docker rm 

Pengenalan kepada Docker Compose

Jika aplikasi anda terdiri daripada berbilang perkhidmatan, anda boleh menggunakan Docker Compose untuk mengurusnya.

1. Cipta Fail docker-compose.yml

Cipta fail bernama docker-compose.yml, dan tambahkan kandungan berikut:

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

Penerangan docker-compose.yml:* version: "3.9": Menentukan versi fail Docker Compose.

  • services: Mendefinisikan perkhidmatan aplikasi.
  • web: Mendefinisikan perkhidmatan bernama "web".
  • image: my-python-app: Menentukan imej yang digunakan oleh perkhidmatan.
  • ports: Mendefinisikan pemetaan port.

2. Memulakan Aplikasi

Dalam direktori yang mengandungi fail docker-compose.yml, jalankan perintah berikut untuk memulakan aplikasi:

docker-compose up -d
  • docker-compose up: Perintah untuk memulakan aplikasi.
  • -d: Menjalankan kontena dalam mod terpisah (detached).

3. Menghentikan Aplikasi

Gunakan perintah berikut untuk menghentikan aplikasi:

docker-compose down

Amalan Terbaik Keselamatan Docker

Seperti yang dapat dilihat daripada perbincangan, keselamatan imej Docker adalah isu penting. Berikut adalah beberapa amalan terbaik keselamatan Docker:

  • Gunakan Imej Rasmi: Gunakan imej yang disediakan secara rasmi sebanyak mungkin, kerana imej ini biasanya telah melalui imbasan dan penyelenggaraan keselamatan.
  • Imbas Kerentanan Imej: Gunakan alat seperti Trivy untuk mengimbas kerentanan yang diketahui dalam imej dan kemas kini imej dengan segera.
  • Gunakan Prinsip Keistimewaan Minimum: Elakkan menjalankan kontena sebagai pengguna root.
  • Hadkan Sumber Kontena: Gunakan cgroups untuk mengehadkan penggunaan CPU dan memori kontena.
  • Kemas Kini Imej Secara Berkala: Pastikan imej dikemas kini untuk membaiki kerentanan keselamatan.
  • Gunakan Alat Imbasan Keselamatan: Alat seperti Snyk, Clair, dan lain-lain boleh disepadukan ke dalam proses CI/CD anda untuk mengimbas kerentanan imej secara automatik.

KesimpulanArtikel ini menyediakan panduan permulaan pantas Docker, merangkumi konsep teras, langkah pemasangan, dan contoh pengkontenaan aplikasi Python yang mudah. Dengan mempelajari asas-asas ini, anda boleh mula menggunakan Docker untuk membina, menguji dan menggunakan aplikasi anda. Ingat, keselamatan adalah penting, sentiasa perhatikan keselamatan imej Docker, dan ambil langkah yang sesuai untuk melindungi aplikasi anda. Walaupun Kubernetes sangat berkuasa dalam orkestrasi kontena berskala besar, Docker masih merupakan penyelesaian yang mudah dan berkesan dalam banyak senario. Dengan menguasai Docker, anda akan lebih bersedia untuk menghadapi cabaran pembangunan dan penggunaan perisian moden.

Published in Technology

You Might Also Like