Pengantar Docker. Mengembangkan gambar Docker sederhana untuk server Anda sendiri.
Versi tugas Rusia dapat ditemukan di repositori.

Planet Bumi, di suatu tempat di tengah laut, hari ini.
Anda tidak pernah suka pindah. Banyak keributan, sedikit aksi. Tetapi Anda berhasil menemukan pekerjaan hebat di kota lain untuk membenamkan diri di dunia DevOps. Dan Anda bukan orang yang membiarkan sedikit masalah merusak rencana Anda.
Dari jendela kabin Anda, Anda mendengar suara ombak, kapal dengan damai mengayunkannya, dan Anda ingat novel favorit Anda tentang laut - "Moby Dick". Meskipun plotnya jauh dari mudah, dengan banyak penyimpangan liris dan renungan filosofis, Anda, seperti orang lain, mengaitkan buku ini terutama dengan Moby Dick sendiri - paus putih.
"Hmm ... Paus Putih ..." Di sinilah Anda ingat bahwa selama perjalanan panjang Anda ingin bekerja di dermaga.
Nginx (diucapkan "engine-x") adalah server proxy terbalik open-source untuk HTTP, HTTPS, dll. Nginx juga digunakan sebagai penyeimbang beban, server web dan untuk caching http. Proyek Nginx berfokus pada paralelisme tinggi, kinerja tinggi dan penggunaan memori rendah.
Nginx memiliki satu proses utama dan beberapa proses pekerja. Tugas utama dari proses utama adalah membaca dan memeriksa konfigurasi dan mengelola proses pekerja. Proses pekerja melakukan pemrosesan permintaan yang sebenarnya.
Bagaimana Nginx dan modulnya bekerja didefinisikan dalam file konfigurasi. Secara default, file konfigurasi disebut nginx.conf
Wadah adalah "file yang dapat dieksekusi" baru yang mencakup semua dependensi kebutuhan produk.
Keuntungan utama dari kontainerisasi adalah isolasi dependensi dan satu titik start-up perangkat lunak sederhana.
Istilah Dasar:
Docker adalah platform yang dirancang untuk mengembangkan, menggunakan dan menjalankan aplikasi dalam wadah. Docker adalah alat kontainerisasi standar 'de-facto' di industri ini, tetapi ini bukan yang pertama atau terakhir di antara teknologi kontainerisasi.
Forerunners dari wadah Docker adalah mesin virtual. Mesin virtual, seperti wadah, mengisolasi aplikasi dan ketergantungannya dari lingkungan luar. Namun, wadah Docker memiliki keunggulan dibandingkan mesin virtual. Misalnya, mereka sangat mudah untuk port, mengkonsumsi lebih sedikit sumber daya, mulai dan berjalan lebih cepat.
Gambar Docker terdiri dari lapisan. Setiap lapisan menjelaskan beberapa perubahan yang harus dilakukan pada data pada wadah yang sedang berjalan. Struktur hubungan antar lapisan adalah hierarkis. Ada lapisan dasar di mana lapisan lain "dilapisi". DockerFile digunakan untuk membuat gambar. Setiap instruksi di dalamnya menciptakan lapisan baru.
Dockle adalah alat pemeriksaan keamanan gambar kontainer yang dapat digunakan untuk menemukan kerentanan.
Fitur Utama dan Manfaat Dockle :
Docker Compose adalah alat untuk menangani tugas yang terkait dengan penyebaran proyek. Docker Compose dapat membantu jika beberapa layanan digunakan untuk menjaga proyek tetap berjalan.
Docker Compose digunakan untuk secara bersamaan mengelola beberapa kontainer yang merupakan bagian dari aplikasi. Alat ini menawarkan fitur yang sama seperti Docker, tetapi memungkinkan untuk bekerja dengan aplikasi terdistribusi yang lebih kompleks, misalnya layanan mikro.
Sebagai hasil dari pekerjaan, Anda harus memberikan laporan tentang dua tugas pertama. Setiap bagian dari tugas menjelaskan apa yang harus ditambahkan ke laporan setelah selesai. Ini bisa menjadi jawaban untuk pertanyaan, tangkapan layar, dll.
Sebagai hasil dari tugas ketiga, Anda harus menyediakan file sumber untuk menjalankan server web.
Sebagai hasil dari tugas keempat dan kelima, Anda harus memberikan dockerfile.
Sebagai hasil dari tugas keenam, Anda harus memberikan file docker-compose.yml dan dockerfiles yang diperlukan untuk menjalankannya (jika tidak disediakan sebelumnya).
Sebagai tujuan akhir dari praktik kecil Anda, Anda telah segera memilih untuk menulis gambar Docker untuk server web Anda sendiri, jadi pertama-tama Anda perlu berurusan dengan gambar Docker yang sudah jadi untuk server. Anda memilih Nginx yang cukup sederhana.
== Tugas ==
docker pull . docker images . docker run -d [image_id|repository] . docker ps . docker inspect [container_id|container_name] . docker stop [container_id|container_name] . docker ps . docker restart [container_id|container_name] . Catatan: Jangan mengunggah file berat (> 10 MB) ke Git.
Gambar dan wadah Docker sudah siap. Sekarang kita dapat melihat status konfigurasi dan tampilan Nginx .
== Tugas ==
docker cp . docker rmi [image_id|repository] tanpa menghapus wadah terlebih dahulu. Saatnya beristirahat sejenak dari Docker untuk mempersiapkan tahap terakhir. Saatnya menulis server Anda sendiri.
== Tugas ==
Hello World! . Sekarang semuanya sudah siap. Anda dapat mulai menulis gambar Docker untuk server yang dibuat.
== Tugas ==
Saat menulis gambar Docker, hindari beberapa panggilan instruksi jalankan
Nginx dapat diinstal di dalam Docker itu sendiri, atau Anda dapat menggunakan gambar yang sudah jadi dengan Nginx sebagai alas.
docker build , tentukan nama dan tag. docker images bahwa semuanya dibangun dengan benar. *Jika semuanya dilakukan dengan benar, setelah menyimpan file dan memulai kembali wadah, file konfigurasi di dalam gambar Docker harus memperbarui dirinya sendiri tanpa langkah tambahan apa pun
Setelah Anda menulis gambar, tidak pernah merupakan ide yang buruk untuk memeriksanya untuk keamanan.
== Tugas ==
dockle [image_id|repository] . Di sana, Anda telah menyelesaikan pemanasan Anda. Tunggu sebentar ... Mengapa tidak mencoba bereksperimen dengan menggunakan proyek yang terdiri dari beberapa gambar Docker sekaligus?
== Tugas ==
docker-compose build dan docker-compose up Commands. Ketuk di sini untuk meninggalkan umpan balik Anda pada proyek . Tim produk benar -benar mencoba membuat pengalaman pendidikan Anda lebih baik.