Bahasa Go ialah salah satu bahasa yang paling popular untuk pembangunan Internet hari ini Dalam pembangunan harian, selalunya perlu menggunakan bekas Docker untuk membina persekitaran pembangunan tempatan untuk perkhidmatan. Artikel ini akan menerangkan secara ringkas aplikasi bekas Docker dalam pembangunan bahasa Go.
Docker ialah teknologi maya yang boleh membantu pembangun menyediakan persekitaran pembangunan dengan pantas, membina imej, menggunakan aplikasi, dsb. secara tempatan, dengan itu mengelakkan Inkonsistensi dalam pembangunan, ujian, penggunaan, dsb. disebabkan oleh persekitaran yang berbeza.
Bekas Docker ialah salah satu konsep teras Docker, iaitu proses terpencil yang dimulakan berdasarkan imej Docker yang boleh menjalankan aplikasi. Setiap bekas mengandungi sistem fail lengkap, proses aplikasi, susunan rangkaian, dsb., yang diasingkan daripada hos, tetapi boleh berkongsi kernel dengan hos.
Dalam pembangunan bahasa Go, kami biasanya menggunakan dua jenis aplikasi kontena Docker berikut:
(1 ) Bina persekitaran pembangunan setempat
Apabila membangunkan aplikasi bahasa Go, kita perlu menggunakan persekitaran pembangunan untuk membina dan menguji program Persekitaran pembangunan biasanya termasuk penyusun bahasa Go, editor kod, dsb. Menggunakan bekas Docker boleh mengelakkan perbezaan persekitaran yang disebabkan oleh sistem pengendalian yang berbeza, versi yang berbeza dan faktor lain.
Sebagai contoh, apabila membangunkan aplikasi bahasa Go secara setempat, kita boleh menggunakan arahan berikut untuk mencipta bekas yang mengandungi Go1.16:
docker run -it --rm -v "$PWD":/go/src/myapp -w /go/src/myapp golang:1.16 bash
Terangkan:
-it
bermaksud mencipta bekas interaktif, iaitu, memulakan cangkerang. --rm
bermakna bekas itu akan dipadamkan secara automatik apabila ia keluar. -v "$PWD":/go/src/myapp
bermaksud memetakan direktori kerja semasa tempatan ke direktori /go/src/myapp bekas. -w /go/src/myapp
bermaksud menetapkan direktori kerja bekas ke direktori /go/src/myapp. golang:1.16
bermaksud menggunakan imej golang:1.16 untuk memulakan bekas. bash
bermaksud menggunakan bash shell. Seperti yang anda lihat, menggunakan bekas Docker untuk memulakan persekitaran pembangunan bahasa Go adalah sangat mudah dan mudah digunakan. Kami hanya perlu memuat turun imej dan kemudian memulakan bekas melalui arahan.
(2) Menggunakan aplikasi bahasa Go
Apabila menggunakan aplikasi bahasa Go, kita perlu mempertimbangkan perbezaan persekitaran, kehilangan perpustakaan bergantung, ralat masa jalan dan isu lain. Menggunakan bekas Docker boleh menjadikan aplikasi kami lebih stabil dan boleh dipercayai apabila digunakan.
Sebagai contoh, apabila menggunakan aplikasi bahasa Go, kita boleh menggunakan arahan berikut untuk mencipta bekas Docker berasaskan alpine, kemudian menyusun aplikasi ke dalam bekas dan menjalankan aplikasi dalam bekas:
docker run --rm -v "$PWD":/app -w /app golang:1.16-alpine go build -v docker run --rm -v "$PWD":/app -w /app -p 8080:8080 golang:1.16-alpine ./myapp
Terangkan:
docker run --rm -v "$PWD":/app -w /app golang:1.16-alpine go build -v
bermaksud mencipta bekas Docker berasaskan alpine, memetakan direktori semasa ke direktori /app bekas, dan kemudian menyusun aplikasi myapp ke dalam bekas . docker run --rm -v "$PWD":/app -w /app -p 8080:8080 golang:1.16-alpine ./myapp
bermaksud mencipta bekas Docker berasaskan alpine, memetakan direktori semasa ke direktori /app bekas, kemudian menjalankan aplikasi myapp dan memetakan port 8080 kontena ke port 8080 hos. Melalui pengenalan di atas, kita dapat melihat bahawa dalam pembangunan bahasa Go, bekas Docker boleh membantu kami Membina, menguji dengan lebih pantas, mudah dan lebih dipercayai , dan gunakan aplikasi kami. Walaupun bekas Docker mempunyai beberapa batasan, seperti aplikasi tidak boleh mengakses hos secara langsung, kami boleh menyelesaikan masalah ini melalui teknologi seperti mount. Saya percaya bahawa menggunakan bekas Docker akan menjadi arus perdana pembangunan bahasa Go pada masa hadapan.
Atas ialah kandungan terperinci Bekas Docker dalam bahasa Go dibangunkan secara tempatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!