Tutorial Docker untuk Pemula: Dasar-dasar, Architekstur, Wadah
Apa itu Docker?
Buruh pelabuhan adalah platform pengembangan perangkat lunak untuk virtualisasi dengan banyak Operasistem yang berjalan pada host yang sama. Ini membantu untuk memisahkan infrastruktur dan aplikasi untuk mengirimkan perangkat lunak dengan cepat. Berbeda dengan Hypervisor yang digunakan untuk membuat VM (Mesin Virtual), virtualisasi di Docker dilakukan pada tingkat sistem, disebut juga container Docker.
Seperti yang Anda lihat perbedaannya pada gambar di bawah, container Docker berjalan di atas host Operasistem tion. Ini membantu Anda meningkatkan efisiensi dan keamanan. Selain itu, kita dapat menjalankan lebih banyak container pada infrastruktur yang sama dibandingkan menjalankan mesin Virtual karena container menggunakan sumber daya yang lebih sedikit.
Berbeda dengan VM yang dapat berkomunikasi dengan perangkat keras host (misal: adaptor Ethernet untuk membuat lebih banyak adaptor virtual), kontainer Docker berjalan di lingkungan terisolasi di atas OS host. Bahkan jika host Anda berjalan Windows OS, Anda dapat menjalankan image Linux dalam container dengan bantuan Hyper-V, yang secara otomatis membuat VM kecil untuk memvirtualisasikan citra dasar sistem, dalam hal ini, Linux.
Mengapa menggunakan Docker?
- Docker adalah perangkat lunak komputer yang digunakan untuk Virtualisasi agar memiliki banyak Operasistem ting berjalan pada host yang sama
- Docker adalah jenis aplikasi client-server yang artinya kita memiliki klien yang menyampaikan ke server
- Gambar Docker adalah “kode sumber” untuk container kami; kami menggunakannya untuk membangun
- Dockerfile memiliki dua jenis pendaftar 1.) pendaftar publik dan 2) pendaftar pribadi
- Kontainer adalah unit organisasi volume Docker. Secara sederhana, gambar adalah templat, dan wadah adalah salinan dari templat tersebut. Anda dapat memiliki beberapa wadah (salinan) dari gambar yang sama.
Buruh pelabuhan Architekstur
Sekarang dalam tutorial container Docker ini, mari kita bicara tentang komponen utama Docker di Docker Architekstur:
Mesin Docker
Docker adalah jenis aplikasi client-server yang berarti kita memiliki klien yang menyampaikan ke server. Jadi daemon Docker yang disebut: dockerd adalah mesin Docker yang mewakili server. Daemon buruh pelabuhan dan klien dapat dijalankan pada host yang sama atau jarak jauh, dan mereka berkomunikasi melalui biner klien baris perintah, serta sistem penuh. API TENANG untuk berinteraksi dengan daemon: dockerd.
Gambar buruh pelabuhan
Gambar Docker adalah “kode sumber” untuk container kami; kami menggunakannya untuk membuat kontainer. Mereka dapat memiliki perangkat lunak pra-instal yang mempercepat penerapan. Mereka portabel, dan kita dapat menggunakan gambar yang ada atau membuatnya sendiri.
Registri Docker
Docker menyimpan image yang kami buat di registry. Ada registrasi publik dan swasta. Perusahaan Docker memiliki registri publik yang disebut hub buruh pelabuhan, tempat Anda juga dapat menyimpan gambar secara pribadi. Hub Docker memiliki jutaan gambar, yang dapat Anda mulai gunakan sekarang.
Kontainer Docker
Kontainer adalah unit organisasi dan salah satu konsep dasar Docker. Saat kita membangun sebuah image dan mulai menjalankannya; kami berjalan dalam sebuah wadah. Analogi container digunakan karena portabilitas perangkat lunak yang kami jalankan di container kami. Kita dapat memindahkannya, dengan kata lain, “mengirimkan” perangkat lunak, memodifikasi, mengelola, membuat atau membuangnya, menghancurkannya, seperti yang dapat dilakukan kapal kargo dengan kontainer sungguhan.
Secara sederhana, gambar adalah templat, dan wadah adalah salinan dari templat tersebut. Anda dapat memiliki beberapa wadah (salinan) dari gambar yang sama.
Di bawah ini kami memiliki gambar yang secara sempurna mewakili interaksi antara berbagai komponen dan cara kerja teknologi container Docker.
Yang kami punya beberapa perintah docker docker pull, docker run.. kita akan membahasnya lebih lanjut nanti.
Cara menginstal Docker di Linux/Ubuntu
Di bawah ini adalah langkah demi langkah proses instalasi Docker di Linux/Ubuntu:
Langkah 1) Untuk menginstal Docker, kita perlu menggunakan paket DEB tim Docker.
Untuk itu, Beberapa prasyarat Ubuntu paket diperlukan.
Gunakan perintah di bawah ini untuk menginstal Ubuntu paket
$ 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 Docker GPG resmi 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.
Gunakan perintah Docker di bawah ini untuk menambahkan repositori
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Anda mungkin diminta untuk mengonfirmasi bahwa Anda ingin menambahkan repositori dan kunci GPG secara otomatis ditambahkan ke host Anda.
Perintah lsb_release harus 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 kita dapat menginstal paket Docker itu sendiri.
Langkah 5) Setelah sumber APT diperbarui,
Mulai instal paket Docker Ubuntu menggunakan perintah Docker di bawah ini
$ sudo apt-get install docker-ce
Perintah yang diberikan di atas menginstal Docker dan paket tambahan lainnya yang diperlukan. Sebelum Docker 1.8.0, nama paketnya adalah lxc-docker, dan antara Docker 1.8 dan 1.13, nama paketnya adalah docker-engine.
CATATAN: buruh pelabuhan 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 menggunakan perintah dasar Docker:
Perintah paling dasar yang harus kita jalankan setelah menginstal Docker adalah $ docker info seperti yang kami katakan sebelumnya.
$ sudo docker info
Anda harus mendapatkan hasil yang serupa atau berikut ini
Seperti yang dapat kita lihat pada contoh Docker di atas, kita memiliki informasi tentang berapa banyak container docker yang berjalan, dijeda, atau dihentikan, dan berapa banyak gambar yang telah kita unduh. Jadi mari kita ambil gambar pertama kita di tutorial perintah Docker ini.
$ sudo docker pull alpine
Dengan perintah ini kami memberitahu buruh pelabuhan untuk mengunduh gambar alpine, untuk menariknya dari registri publik, versi terbaru yang disetel 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 akan menggunakan perintah berikut dalam panduan tutorial Docker ini.
$ sudo docker run -i -t alpine /bin/bash
Jika kita menjalankan perintah tersebut, kita akan dikirim langsung ke terminal alpine. Bendera -i membuat STDIN tetap terbuka dari wadahnya, bahkan ketika Anda tidak terikat padanya. Input standar yang persisten ini adalah setengah dari apa yang Anda perlukan untuk shell interaktif. Bendera -t adalah separuh lainnya dan yang menginstruksikan Docker untuk menetapkan pseudo-tty ke wadah. Ini memberi kita shell interaktif di wadah baru. Kami keluar dari wadah dengan perintah keluar sederhana.
Sekarang dalam tutorial dasar Docker ini, kita dapat mencoba menjalankan Ubuntu gambar.
$ sudo docker run -it ubuntu /bin/bash
Anda dapat melihat buruh pelabuhan memeriksa gambar secara lokal, dan jika tidak ada, gambar tersebut ditarik dari perpustakaan gambar secara otomatis, dan sekali lagi kita menjalankan shell interaktif. Kita juga dapat memberi nama pada container saat kita menjalankannya.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
dan kita keluar lagi.
Kita juga dapat menjalankan container yang kita buat sebelumnya, tanpa shell interaktif.
$ sudo docker start container_name
Dan hentikan penulisan container docker stop container_name
$ sudo docker stop container_name
Jika kita ingin melihat semua container yang berjalan, kita jalankan saja
$ docker ps
Dan untuk semua container kami menambahkan “- a” di akhir perintah yang sama, seperti docker ps -a ini.
Perintah ini menunjukkan ID Kontainer, gambar mana yang digunakan saat dibuat, status berjalan, port terbuka, dan nama kontainer yang dibuat secara acak untuk memudahkan pengelolaan.
Saat kami menjalankan container, kami juga ingin mengetahui berapa banyak sumber daya yang mereka gunakan, untuk tujuan itu kami dapat menggunakan perintah.
$ docker stats
Anda juga dapat melihat gambar mana yang telah kami unduh secara lokal dan informasi tentangnya.
$ sudo docker images
Perintah pada contoh Docker di atas menampilkan image buruh pelabuhan dengan tag yang menunjukkan versi image kita, ID image khusus, kapan dibuat, dan ukuran image.
Apa itu Virtualisasi?
Sebelumnya, proses penerapan layanan lambat dan menyakitkan. Pertama, para pengembang sedang menulis kode; kemudian tim operasi akan menerapkannya pada mesin bare metal, di mana mereka harus mencari versi perpustakaan, patch, dan kompiler bahasa agar kode dapat berfungsi. Jika ada beberapa bug atau kesalahan, prosesnya akan dimulai dari awal lagi, pengembang akan memperbaikinya, dan tim operasional akan siap untuk menerapkannya.
Ada peningkatan dengan terciptanya Hypervisor. Hypervisor memiliki banyak Mesin virtual atau VM di host yang sama, yang mungkin berjalan atau dimatikan. VM mengurangi waktu tunggu untuk menerapkan kode dan memperbaiki bug secara signifikan, namun pengubah permainan sebenarnya adalah container Docker.
Perintah Docker Penting
Di bawah ini adalah perintah penting Docker:
perintah | Description |
---|---|
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 container yang sedang berjalan |
statistik buruh pelabuhan | Informasi kontainer |
gambar buruh pelabuhan | Daftar gambar yang diunduh |
Pembersihan Docker | Bunuh semua kontainer yang sedang berjalan. |
Baca juga Pertanyaan dan jawaban wawancara kerja Docker untuk profesional yang lebih segar dan berpengalaman.
Kesimpulan
- Docker adalah platform pengembangan perangkat lunak untuk virtualisasi dengan banyak Operasistem yang berjalan pada host yang sama. Ini membantu untuk memisahkan infrastruktur dan aplikasi untuk mengirimkan perangkat lunak dengan cepat.
- Buruh pelabuhan Architekstur: Mesin Docker, Gambar Docker, Registri Docker, Kontainer Docker.
- Mesin Docker: Docker adalah jenis aplikasi client-server yang berarti kita memiliki klien yang menyampaikan ke server. Jadi daemon Docker yang disebut: dockerd adalah mesin Docker yang mewakili server.
- Gambar buruh pelabuhan: Gambar Docker adalah “kode sumber” untuk container kami; kami menggunakannya untuk membuat kontainer. Mereka dapat memiliki perangkat lunak pra-instal yang mempercepat penerapan. Mereka portabel, dan kita dapat menggunakan gambar yang ada atau membuatnya sendiri.
- Registri Docker: Docker menyimpan image yang kami buat di registry. Ada registrasi publik dan swasta. Perusahaan Docker memiliki registri publik yang disebut hub Docker, tempat Anda juga dapat menyimpan gambar secara pribadi. Hub Docker memiliki jutaan gambar, yang dapat Anda mulai gunakan sekarang.
- Kontainer Docker: Kontainer adalah unit organisasi dan salah satu konsep dasar Docker. Saat kita membangun sebuah image dan mulai menjalankannya; kami berjalan dalam sebuah wadah. Analogi container digunakan karena portabilitas perangkat lunak yang kami jalankan di container kami.