Panduan

Apa Itu Docker? Container Diterangkan untuk Bukan Pembangun

Docker ialah alat yang membungkus aplikasi bersama semua yang diperlukannya untuk berjalan — versi bahasa yang betul, pustaka, alat sistem dan tetapan — ke dalam unit piawai yang dipanggil container. Container berjalan dengan cara yang sama pada komputer riba pembangun, pelayan ujian atau hos awan, yang menamatkan masalah klasik “tetapi ia berfungsi pada mesin saya”. Resipi untuk membina container ialah fail teks ringkas yang dipanggil Dockerfile.

Mengapa Docker penting apabila anda membina dengan AI

Jika aplikasi anda mempunyai backend — API dalam Python, Node, C# atau Java — ia mesti berjalan di tempat yang mempunyai perisian yang betul dipasang. Docker ialah cara paling biasa untuk menjadikannya boleh diulang.

  • Menggunakan backend. Banyak hos, termasuk Mythex, menggunakan backend dengan membina container daripada Dockerfile. Dalam Mythex, meminta “API Web C#” atau “backend Java” akan memberi anda aplikasi serta Dockerfile, dan Publish membina imej dan menggunakannya (API backends).
  • Meninggalkan platform. Jika anda mengeksport aplikasi yang dibina AI, Dockerfile memudahkan anda menjalankannya di hos lain. Lihat cara mengeksport dan menghoskan sendiri aplikasi yang dibina AI.
  • Bekerja dengan pembangun. Pembangun yang menyertai projek anda boleh memulakan keseluruhan aplikasi dengan satu atau dua arahan, dan bukannya menghabiskan sehari memasang pelbagai perkara.

Analogi harian: kontena perkapalan

Sebelum kontena perkapalan piawai wujud, kargo dimuatkan sedikit demi sedikit — guni, tong, peti — dan setiap pelabuhan mengendalikannya dengan cara berbeza. Kontena keluli piawai mengubah itu: bungkus sekali, dan mana-mana kapal, kren, kereta api atau trak boleh mengangkutnya tanpa mengambil peduli apa yang ada di dalamnya.

Docker melakukan perkara yang sama untuk perisian:

  • Dockerfile ialah senarai bungkusan dan arahan.
  • Imej ialah kontena yang dibungkus dan dimeteraikan.
  • Container yang sedang berjalan ialah kotak itu yang digunakan di atas kapal — di sini, sebuah pelayan.
  • Docker Engine ialah kren dan kapal: perisian di pelayan yang tahu cara menjalankan mana-mana container.

Cara Docker berfungsi

BahagianApa ia
DockerfileFail teks dengan arahan langkah demi langkah untuk membina imej.
ImejPakej hanya boleh dibaca: asas sistem operasi, runtime, pustaka dan kod anda.
ContainerContoh imej yang sedang berjalan, diasingkan daripada aplikasi lain pada mesin yang sama.
RegistryTempat menyimpan dan berkongsi imej, seperti Docker Hub atau pendaftaran penyedia awan.
Docker EnginePerkhidmatan latar belakang yang membina imej dan menjalankan container. Percuma dan sumber terbuka.
Docker DesktopAplikasi untuk Mac, Windows dan Linux yang menggabungkan enjin dengan antara muka grafik.

Container berbanding mesin maya: mesin maya berpura-pura menjadi komputer berasingan sepenuhnya dengan sistem operasinya sendiri, jadi ia berat dan perlahan untuk bermula. Container berkongsi kernel sistem operasi hos dan hanya mengasingkan aplikasi dan failnya, jadi ia biasanya bermula dalam beberapa saat dan menggunakan memori yang jauh lebih sedikit. Banyak container boleh berjalan serentak pada satu pelayan.

Contoh kerja: API Python yang kecil

Katakan pembina AI anda mencipta backend FastAPI Python untuk aplikasi tempahan. Dockerfile mungkin kelihatan seperti ini:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Baris demi baris:

BarisApa yang dilakukannya
FROM python:3.12-slimMula daripada imej rasmi yang sudah mempunyai Python 3.12 dipasang.
WORKDIR /appBekerja di dalam folder /app dalam container.
COPY requirements.txt . dan RUN pip install ...Salin senarai pustaka dan pasangkannya.
COPY . .Salin kod aplikasi itu sendiri.
EXPOSE 8000Catat bahawa aplikasi mendengar pada port 8000.
CMD [...]Arahan yang memulakan pelayan web apabila container berjalan.

Dalam bahasa mudah: “Mula dengan Python 3.12. Pasang pustaka yang tersenarai dalam requirements.txt. Salin kod. Mulakan pelayan web pada port 8000.”

Pembangun (atau platform hosting) kemudian menjalankan dua arahan:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

Yang pertama membina imej dan menamakannya booking-api. Yang kedua memulakan container dan menyambungkan port 8000 pada mesin dengan port 8000 di dalam container. API kini berjalan — dengan cara yang sama seperti di mana-mana pelayan yang mempunyai Docker.

Perhatikan apa yang tiada dalam imej: kata laluan dan kunci API. Ia dihantar semasa container dimulakan, sebagai pembolehubah persekitaran, supaya imej yang sama boleh berjalan dalam ujian dan pengeluaran dengan tetapan yang berbeza.

Istilah utama

IstilahMaksud
ContainerPakej terpencil yang sedang berjalan bagi aplikasi dan kebergantungannya.
ImejTemplat yang container dimulakan daripadanya.
Imej asas (base image)Titik permulaan dalam baris FROM Dockerfile, seperti python:3.12-slim atau node:22.
Lapisan (layer)Setiap langkah Dockerfile menambah lapisan yang di-cache, yang menjadikan pembinaan semula lebih pantas.
Pemetaan portMenyambungkan port pada hos dengan port di dalam container.
VolumeStoran yang kekal walaupun container diganti. Container itu sendiri boleh dibuang.
Docker ComposeFail yang menerangkan beberapa container yang berjalan bersama, seperti API serta pangkalan data.
KubernetesSistem untuk menjalankan banyak container merentasi banyak pelayan. Kebanyakan aplikasi kecil tidak memerlukannya.

Salah faham yang biasa

  • “Docker ialah mesin maya.” Ia lebih ringan: container berkongsi kernel hos.
  • “Data yang disimpan dalam container selamat.” Container memang direka untuk dibuang dan diganti. Apa-apa yang mesti kekal — data pengguna, muat naik — tergolong dalam pangkalan data, storan fail atau volume.
  • “Meletakkan rahsia dalam Dockerfile tidak mengapa kerana ia peribadi.” Imej dikongsi dan ditolak ke registry. Hantar rahsia semasa runtime.
  • “Docker menjadikan aplikasi selamat.” Pengasingan membantu, tetapi container yang menjalankan perisian lapuk dengan tetapan lemah tetap terdedah.
  • “Setiap aplikasi memerlukan Docker.” Laman statik atau frontend ringkas biasanya dihoskan sebagai fail biasa, tanpa container langsung.
  • “Docker Desktop percuma untuk semua orang.” Enjinnya percuma; Docker Desktop memerlukan langganan berbayar untuk syarikat yang lebih besar, mengikut syarat Docker.

Apa nak minta daripada pembina AI anda

  • “Adakah aplikasi ini memerlukan Dockerfile? Jika ya, terangkan setiap baris dalam bahasa mudah.”
  • “Gunakan imej asas rasmi yang kecil dan kunci versi bahasa.”
  • “Simpan rahsia di luar imej. Baca daripada pembolehubah persekitaran semasa runtime.”
  • “Pastikan muat naik dan data disimpan dalam pangkalan data atau storan fail, bukan di dalam container.”
  • “Tambah fail Docker Compose supaya pembangun boleh menjalankan frontend, API dan pangkalan data secara tempatan dengan satu arahan.”
  • “Tambah titik akhir semakan kesihatan supaya hos boleh tahu sama ada API sedang berjalan.”

Docker dalam Mythex

Anda tidak perlu memasang atau menjalankan Docker untuk menggunakan Mythex. Projek anda berjalan dalam sandbox awan peribadi, dan apabila anda meminta backend yang memerlukan container — contohnya C#, Java atau perkhidmatan Node atau Python tersuai — Mythex menulis aplikasi serta Dockerfile, mempratonton dalam sandbox dan menggunakannya apabila anda menerbitkan, tanpa sebarang persediaan hosting (cara teknologi dipilih). Pada Pro, anda boleh mengeksport projek atau menyegerakkannya ke GitHub dan membawa Dockerfile bersama anda. Untuk cara backend dan frontend berhubung, lihat frontend vs backend.

Soalan lazim

Apakah Docker dalam istilah mudah?

Docker ialah alat yang membungkus aplikasi bersama semua yang diperlukannya untuk berjalan — runtime bahasa, pustaka dan tetapan — ke dalam unit piawai yang dipanggil container. Container berjalan dengan cara yang sama pada komputer riba, pelayan ujian atau hos awan.

Apakah perbezaan antara imej Docker dan container?

Imej ialah templat yang dibungkus dan hanya boleh dibaca: aplikasi dan kebergantungannya, dibina daripada Dockerfile. Container ialah salinan imej itu yang sedang berjalan. Anda boleh memulakan banyak container daripada satu imej.

Adakah Docker mesin maya?

Tidak. Mesin maya meniru seluruh komputer dengan sistem operasinya sendiri. Container berkongsi kernel sistem operasi hos dan hanya mengasingkan aplikasi, jadi ia bermula lebih pantas dan menggunakan memori yang lebih sedikit.

Adakah Docker percuma?

Docker Engine, teras yang menjalankan container, adalah percuma dan sumber terbuka. Setakat September 2026, syarat Docker menyatakan Docker Desktop percuma untuk projek sumber terbuka bukan komersial dan untuk syarikat dengan kurang daripada 250 pekerja dan kurang daripada $10 juta hasil tahunan; syarikat yang lebih besar memerlukan langganan berbayar.

Adakah saya perlu belajar Docker untuk membina aplikasi dengan AI?

Biasanya tidak. Ramai pembina AI mengendalikan container untuk anda. Adalah berguna untuk tahu apa itu Dockerfile supaya anda faham cara backend dibungkus, dan supaya anda boleh menjalankan atau menghoskan aplikasi di tempat lain jika anda mengeksportnya.

Mythex · Pricing · Bina apa sahaja dengan AI · Templat laman web dan aplikasi · Mythex dibandingkan · Glosari pembinaan aplikasi AI · Alat percuma untuk membina aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)