Pengenalan Docker

  • pengenalan docker

Pengenalan Docker

  • Docker adalah mesin container aplikasi, dapat membungkus aplikasi dan dependensinya ke dalam container yang dapat dipindahkan, lalu diterbitkan ke mesin Linux atau Windows mana pun, juga dapat mewujudkan virtualisasi.
  • Mengapa ada docker, karena pengembang dan operator sering menghadapi masalah, yaitu aplikasi tidak memiliki masalah sama sekali di lingkungan pengembang, tetapi di lingkungan produksi nyata malah penuh bug.
    • Operasi program dari arsitektur perangkat keras ke sistem operasi, kemudian ke aplikasi, ini adalah lapisan yang berbeda, tetapi pengembang sering hanya memperhatikan pengembangan aplikasi, dan mengabaikan masalah lapisan lainnya.
    • Kemunculan docker adalah untuk mengatasi masalah ini, ia membungkus aplikasi dan dependensinya ke dalam container, sehingga tidak perlu khawatir tentang masalah lingkungan.
  • Sinkronisasi lingkungan pengembangan dan produksi, memungkinkan pengembang dapat mengembangkan, menguji, dan menerapkan aplikasi secara lokal, tanpa khawatir tentang masalah lingkungan. Secara signifikan meningkatkan efisiensi pengembangan dan operasi, dengan biaya sedikit pemborosan sumber daya.

Saya sangat menyarankan semua pengembang belajar menggunakan container untuk pengembangan dan penerapan, karena dengan biaya yang relatif rendah, memberikan lingkungan operasi yang stabil untuk aplikasi Anda, sehingga meningkatkan efisiensi pengembangan dan operasi.

Menggunakan bahasa awam untuk menggambarkan alur kerja menggunakan docker:

  1. Membuat lingkungan pengembangan dari awal, termasuk sistem operasi, aplikasi, paket dependensi, file konfigurasi, dll.
    • Lingkungan dapat dijalankan di mana saja, juga dapat dibuat di mana saja.
    • Hasil kompilasi kode sumber di lingkungan stabil dan dapat diprediksi, perilaku sepenuhnya konsisten.
    • Operasi program di lingkungan tidak akan menghasilkan ambiguitas.
    • Sebaiknya menggunakan pendekatan deklaratif untuk membuat lingkungan (docker-compose), lebih lanjut mengurangi perbedaan tersembunyi lingkungan, segala sesuatu tentang lingkungan telah ditampilkan dalam deklarasi.
  2. Membuat commit, membuat image, ini seperti snapshot, menyimpan lingkungan saat ini, agar dapat digunakan nanti.
  3. Berbagi image dengan pengembang dan operator lain, semua orang bekerja secara sinkron berdasarkan konteks yang sama.
  4. Seiring perkembangan bisnis dan permintaan, memodifikasi image, membuat commit ulang, membuat image ulang, mendistribusikan ulang.

Arsitektur dasar docker