Saya memiliki MVC Core 2.2 dengan beberapa proyek dalam wadah buruh pelabuhan. Ketika saya menjalankannya, dibutuhkan sekitar 4 menit untuk membangun gambar dan menjalankan wadah. Saya menggunakan docker-compose
.
Ini tampaknya lambat, mengingat ini adalah pengembangan kecil dan saya memiliki komputer yang layak. Tampaknya sumber daya tidak digunakan, karena prosesor di bawah 8% selama pembuatan gambar, ram tidak bergerak, disk hampir pada 0%. GPU 0%. Saya dapat melihat lonjakan internet selama beberapa detik saat gambar Microsoft diunduh, tetapi hanya itu. Saya telah memberi buruh pelabuhan sumber daya berikut:
Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)
Adakah ide bagaimana sumber daya perangkat keras ini dapat digunakan untuk membuat build lebih cepat?
Jawaban:
Tampaknya menjadi masalah umum dengan Docker pada Windows 10 karena saya menemukan beberapa utas di web berbicara tentang masalah ini dan tampaknya umumnya tidak terkait dengan sumber daya perangkat keras yang ditugaskan ke Docker.
Jadi saya telah melakukan beberapa percobaan pada contoh virtual Windows 10 saya dan melihat perilaku serupa menjalankan beberapa wadah berbasis Linux menggunakan contoh pembuatan docker.
Di sini saya melaporkan langkah-langkah, dari semua yang saya temukan selama pencarian saya, yang benar-benar tampaknya mempercepat operasi selama pengujian saya:
Tambahkan pengembangan (mis. Git repos) dan direktori gambar buruh pelabuhan di:
Daftar Pengecualian Windows Defender ( https://support.microsoft.com/en-us/help/4028485/windows-10-add-an-exclusion-to-windows-defender-antivirus )
CATATAN: Di sini pertama-tama coba nonaktifkan Windows Defender untuk melihat apakah itu membantu
Daftar pengecualian Pengindeksan Windows (Panel Kontrol -> Opsi Pengindeksan)
Flush dns menjalankan perintah berikut:
Cobalah untuk mengubah DNS ke misalnya Google satu (8.8.8.8 - 8.8.4.4) atau Cloud Fare satu (1.1.1.1 - 1.0.0.1) (Di sini, karena saya sudah memiliki Google DNS, saya mencoba dengan cara yang berlawanan menetapkan suatu DNS lebih lambat dan benar-benar operasi menjadi sedikit lebih lambat)
Tambahkan pengecualian jika ada antivirus lain yang diinstal (juga di sini pertama-tama coba nonaktifkan mereka untuk melihat apakah ini dapat membantu)
Hapus semua dukungan IPV6 dan NetBIOS dari semua antarmuka jaringan
CATATAN: Seseorang menyarankan untuk menghapus instalasi Docker dan menginstal setelah ini berlaku tetapi saya tidak menguji karena saya sudah mulai dari instalasi Windows 10 baru.
Semoga ini dapat membantu juga di lingkungan Anda!
Referensi terbaik yang saya temukan:
sumber
periksa apakah ada terlalu banyak file dalam direktori build, jika ada dcoker perlu mengirim semua file ke daemon yang perlu juga waktu untuk menyelesaikan ......
Anda dapat mengabaikan file yang tidak diinginkan menggunakan
.dockerignore
sumber