Tutorial Docker untuk Pemula: Dasar-dasar, Architekstur, Wadah
โก Ringkasan Cerdas
Docker adalah platform kontainerisasi yang mengemas aplikasi dan dependensinya ke dalam kontainer yang portabel dan ringan. Gambaran umum ini menjelaskan arsitektur Docker, instalasi pada UbuntuPerintah-perintah penting, dan bagaimana kontainer berbeda dari mesin virtual tradisional untuk pengiriman perangkat lunak yang lebih cepat.

Docker adalah salah satu platform kontainerisasi paling populer yang digunakan di era modern. DevOps dan alur kerja cloud. Tutorial Docker untuk pemula ini menjelaskan apa itu Docker, bagaimana arsitektur Docker bekerja, dan cara menginstal Docker di Ubuntu, dan perintah dasar yang digunakan untuk mengelola image dan container.
Apa itu Docker?
Buruh pelabuhan Docker adalah platform pengembangan perangkat lunak untuk virtualisasi yang memungkinkan beberapa sistem operasi berjalan pada host yang sama. Platform ini membantu Anda memisahkan infrastruktur dari aplikasi sehingga Anda dapat mengirimkan perangkat lunak dengan cepat. Tidak seperti hypervisor, yang digunakan untuk membuat mesin virtual (VM), Docker melakukan virtualisasi pada tingkat sistem menggunakan unit yang disebut kontainer Docker.
Kontainer Docker berjalan di atas sistem operasi host, seperti yang ditunjukkan pada gambar di bawah. Hal ini meningkatkan efisiensi dan keamanan. Anda juga dapat menjalankan lebih banyak kontainer daripada mesin virtual pada infrastruktur yang sama, karena kontainer menggunakan lebih sedikit sumber daya.

Tidak seperti VM, yang dapat berkomunikasi langsung dengan perangkat keras host (misalnya, adaptor Ethernet yang membuat lebih banyak adaptor virtual), kontainer Docker berjalan di lingkungan terisolasi di atas sistem operasi host. Bahkan jika host Anda menjalankan Windows, kamu bisa lari Linux gambar di dalam kontainer dengan bantuan Hyper-Vyang secara otomatis membuat VM kecil untuk memvirtualisasikan citra dasar.
Setelah Anda mengetahui apa itu Docker, mari kita lihat alasan utama mengapa tim memilihnya.
Mengapa menggunakan Docker?
Berikut adalah alasan-alasan utama untuk menggunakan Docker:
- Docker adalah perangkat lunak yang digunakan untuk virtualisasi, memungkinkan banyak sistem operasi untuk dijalankan pada host yang sama.
- Docker adalah aplikasi klien-server, yang berarti klien berkomunikasi dengan server.
- Image Docker bertindak sebagai "kode sumber" untuk kontainer; Anda menggunakannya untuk membangunnya.
- Docker mendukung dua jenis registry: publik dan privat.
- Kontainer adalah unit pengorganisasian Docker. Sederhananya, sebuah image adalah template dan sebuah kontainer adalah salinan dari template tersebut, sehingga Anda dapat menjalankan beberapa kontainer dari image yang sama.
Manfaat-manfaat ini berasal dari cara Docker dirancang. Bagian berikut akan menguraikan arsitektur Docker dan komponen-komponen intinya.
Buruh pelabuhan Architekstur
Nah, dalam tutorial kontainer Docker ini, mari kita lihat komponen utama dari arsitektur Docker.
Mesin Docker
Docker adalah aplikasi klien-server, yang berarti kita memiliki klien yang meneruskan permintaan ke server. Daemon Docker, yang disebut dockerd, adalah mesin Docker yang mewakili server. Daemon dan klien dapat berjalan pada host yang sama atau host jarak jauh, dan mereka berkomunikasi melalui biner klien baris perintah dan aplikasi lengkap. API TENANG yang berinteraksi dengan dockerd.
Gambar buruh pelabuhan
Image Docker adalah "kode sumber" untuk kontainer kita; kita menggunakannya untuk membangun kontainer. Image dapat memiliki perangkat lunak yang sudah terinstal sebelumnya, yang mempercepat penyebaran. Image bersifat portabel, dan Anda dapat menggunakan image yang sudah ada atau membangun image sendiri.
Registri Docker
Docker menyimpan image yang kita buat di dalam registry. Ada registry publik dan pribadi. Docker memiliki registry publik yang disebut Hub Docker, di mana Anda juga dapat menyimpan gambar secara pribadi. Docker Hub memiliki jutaan gambar yang dapat Anda mulai gunakan segera.
Kontainer Docker
Kontainer adalah unit organisasi Docker dan salah satu konsep dasarnya. Ketika kita membuat image dan menjalankannya, kita menjalankannya di dalam sebuah kontainer. Analogi kontainer digunakan karena portabilitas perangkat lunak yang berjalan di dalamnya: Anda dapat memindahkan, "mengirim", memodifikasi, mengelola, membuat, atau menghancurkannya, sama seperti kapal kargo menangani kontainer sungguhan.
Secara sederhana, gambar adalah templat, dan wadah adalah salinan dari templat tersebut. Anda dapat memiliki beberapa wadah (salinan) dari gambar yang sama.
Interaksi antara berbagai komponen ini menunjukkan bagaimana teknologi kontainer Docker bekerja bersama. Perintah seperti `docker pull` dan `docker run`, yang akan kita bahas nanti, memungkinkan Anda untuk mengelola alur kerja ini.
Dengan mempertimbangkan arsitektur tersebut, mari kita instal Docker agar Anda dapat mencoba komponen-komponen ini sendiri.
Cara menginstal Docker di Linux/Ubuntu
Berikut adalah proses instalasi Docker langkah demi langkah di Linux/Ubuntu:
Langkah 1) Untuk menginstal Docker, Anda memerlukan paket DEB dari tim Docker. Pertama, beberapa prasyarat Ubuntu Paket-paket tersebut diperlukan. Gunakan perintah di bawah ini untuk menginstalnya.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*tanda โ\โ tidak perlu digunakan pada baris baru, jika mau anda dapat menulis perintah tanpa menggunakan โ\โ pada satu baris saja.
Langkah 2) Tambahkan kunci GPG resmi Docker dengan sidik jari. Gunakan perintah Docker di bawah ini untuk memasukkan kunci GPG.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Langkah 3) Selanjutnya, tambahkan repositori Docker APT menggunakan perintah di bawah ini.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Anda mungkin akan diminta untuk mengkonfirmasi bahwa Anda ingin menambahkan repositori dan menambahkan kunci GPG secara otomatis ke host Anda. Perintah lsb_release akan mengisi Ubuntu versi distribusi host Anda.
Langkah 4) Setelah menambahkan kunci GPG, perbarui sumber APT menggunakan perintah Docker di bawah ini.
$ sudo apt-get update
Sekarang Anda dapat menginstal paket Docker itu sendiri.
Langkah 5) Setelah sumber APT diperbarui, mulailah menginstal paket Docker pada Ubuntu menggunakan perintah Docker di bawah ini.
$ sudo apt-get install docker-ce
Perintah di atas menginstal Docker dan paket-paket lain yang dibutuhkan. Sebelum Docker 1.8.0, nama paketnya adalah lxc-docker, dan antara Docker 1.8 dan 1.13, nama paketnya adalah docker-engine.
CATATAN: Docker untuk Windows membutuhkan Windows 10 Pro atau Enterprise versi 14393, atau Windows Server 2016 RTM, untuk dijalankan.
Cara menggunakan Docker menggunakan Perintah Docker dasar
Berikut cara menggunakan Docker dengan beberapa perintah Docker dasar.
Perintah paling dasar yang harus Anda jalankan setelah menginstal Docker adalah `docker info`, seperti yang telah disebutkan sebelumnya.
$ sudo docker info
Anda akan mendapatkan hasil yang mirip dengan berikut ini.
Seperti yang ditunjukkan pada contoh Docker di atas, kita dapat melihat informasi tentang kontainer Docker: berapa banyak yang sedang berjalan, dijeda, atau dihentikan, dan berapa banyak image yang telah diunduh. Sekarang mari kita dapatkan image pertama kita.
$ sudo docker pull alpine
Dengan perintah ini, kita memberi tahu Docker untuk mengunduh image alpine, mengambilnya dari registry publik dalam versi terbaru, yang telah diatur secara default.
*alpine adalah image Docker minimal berbasis Alpine Linux dengan indeks paket lengkap dan hanya berukuran 5 MB.
Jika kita ingin menjalankan image sebagai container, kita menggunakan perintah berikut.
$ sudo docker run -i -t alpine /bin/bash
Menjalankan perintah tersebut akan membawa kita langsung ke terminal alpine. Flag -i menjaga STDIN tetap terbuka dari kontainer bahkan ketika Anda tidak terhubung ke dalamnya; input standar yang persisten ini adalah setengah dari apa yang Anda butuhkan untuk shell interaktif. Flag -t adalah setengah lainnya dan menginstruksikan Docker untuk menetapkan pseudo-tty ke kontainer. Bersama-sama, keduanya memberi kita shell interaktif di kontainer baru. Kita keluar dari kontainer dengan perintah exit sederhana.
Nah, dalam tutorial dasar Docker ini, kita bisa mencoba menjalankan sebuah Ubuntu gambar.
$ sudo docker run -it ubuntu /bin/bash
Perhatikan bahwa Docker memeriksa keberadaan image secara lokal, dan jika tidak ada, image akan ditarik dari pustaka image secara otomatis. Sekali lagi, kita memiliki shell interaktif yang berjalan. Kita juga dapat memberi nama kontainer saat menjalankannya.
$ sudo docker run โ-name our_container -it ubuntu /bin/bash
Kemudian kita keluar lagi. Kita juga dapat menjalankan kontainer yang sebelumnya telah kita buat tanpa shell interaktif.
$ sudo docker start container_name
Dan kita menghentikan kontainer dengan menulis docker stop container_name.
$ sudo docker stop container_name
Jika kita ingin melihat semua container yang sedang berjalan, kita cukup menjalankan perintah berikut.
$ docker ps
Untuk semua kontainer, kita menambahkan "-a" di akhir perintah yang sama, seperti docker ps -a. Perintah ini menampilkan ID kontainer, citra yang digunakan, kapan dibuat, status berjalan, port yang terbuka, dan nama yang dihasilkan secara acak untuk memudahkan pengelolaan.
Saat menjalankan kontainer, kita sering ingin mengetahui berapa banyak sumber daya yang digunakannya. Untuk tujuan itu, kita dapat menggunakan perintah berikut.
$ docker stats
Anda juga dapat melihat gambar mana yang telah Anda unduh secara lokal, beserta informasi tentang gambar-gambar tersebut.
$ sudo docker images
Perintah pada contoh Docker di atas menampilkan setiap image Docker dengan tag yang menunjukkan versi image, ID image yang unik, tanggal pembuatan, dan ukuran image.
Untuk memahami mengapa kontainer merupakan peningkatan yang signifikan, ada baiknya kita melihat bagaimana virtualisasi berevolusi.
Apa itu Virtualisasi?
Sebelumnya, penyebaran layanan sangat lambat dan menyulitkan. Pengembang akan menulis kode, dan kemudian tim operasional akan menyebarkannya pada mesin fisik, di mana mereka harus memperhatikan versi pustaka, patch, dan kompiler bahasa agar kode tersebut berfungsi. Jika ada bug atau kesalahan, proses akan dimulai dari awal lagi: pengembang akan memperbaiki masalah tersebut, dan tim operasional akan menyebarkannya kembali.
Situasi membaik dengan terciptanya hypervisor. Hypervisor menjalankan banyak sistem sekaligus. mesin virtual, atau VM, pada host yang sama, yang mungkin sedang berjalan atau dimatikan. VM sangat mengurangi waktu tunggu untuk menerapkan kode dan memperbaiki bug, tetapi yang benar-benar mengubah segalanya adalah kontainer Docker.
Popularitas Docker juga didorong oleh alat orkestrasi yang mengelola kontainer dalam skala besar, seperti KubernetesSebelum melanjutkan, berikut adalah referensi singkat tentang perintah Docker yang paling penting.
Perintah Docker Penting
Di bawah ini adalah perintah penting Docker:
| perintah | Deskripsi |
|---|---|
| info buruh pelabuhan | Komando Informasi |
| tarik buruh pelabuhan | Unduh gambar |
| jalankan buruh pelabuhan -i -t image_name /bin/bash | Jalankan gambar sebagai wadah |
| buruh pelabuhan mulai our_container | Mulai wadah |
| buruh pelabuhan menghentikan nama_kontainer | Hentikan wadah |
| buruh pelabuhan ps | Daftar semua kontainer yang sedang berjalan |
| statistik buruh pelabuhan | Informasi kontainer |
| gambar buruh pelabuhan | Daftar gambar yang diunduh |
| Pembersihan Docker | Bunuh semua kontainer yang sedang berjalan. |
Bacalah juga ini. Pertanyaan dan jawaban wawancara kerja Docker untuk lulusan baru maupun profesional berpengalaman.

