Rumah >pembangunan bahagian belakang >Golang >Cara menggunakan aplikasi dengan Golang dan Docker
Teknologi kontena telah menjadi penyelesaian yang semakin popular dalam industri pembangunan perisian hari ini. Sebagai alat kontena yang paling popular pada masa ini, Docker diiktiraf secara meluas untuk pelbagai kelebihannya, seperti mudah alih yang tinggi, ringan, mudah alih, dsb. Pada masa yang sama, Golang, sebagai bahasa pengaturcaraan berprestasi tinggi moden, digemari oleh semakin ramai pembangun. Dalam artikel ini, kami akan menerangkan cara untuk menggunakan aplikasi menggunakan Golang dan Docker.
Langkah 1: Tulis aplikasi Golang
Pertama, kita perlu menulis aplikasi Golang. Di sini kami mengambil perkhidmatan web ringkas yang dilaksanakan oleh Golang sebagai contoh Kodnya adalah seperti berikut:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", helloHandler) // 注册路由 http.ListenAndServe(":8080", nil) // 启动 HTTP 服务 } func helloHandler(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "Hello Docker and Golang!") }
Aplikasi di sini akan mendengar port 8080 selepas permulaan dan memberikan mesej respons ringkas pada port ini.
Langkah 2: Buat imej Docker
Kami perlu membungkus aplikasi Golang ke dalam imej Docker untuk memudahkan penggunaan ke mana-mana hos Docker. Sebelum mencipta imej Docker, kita perlu menulis fail konfigurasi Dockerfile untuk aplikasi Golang.
# Dockerfile FROM golang:alpine WORKDIR /go/src/app COPY . . RUN go build -o app EXPOSE 8080 CMD ["/go/src/app/app"]
Fail Docker di atas dibahagikan kepada langkah berikut:
Buat imej baharu berdasarkan imej Alpine yang ditulis dalam Golang.
Salin direktori kod sumber tempat aplikasi diletakkan ke laluan /go/src/app
bekas.
Kompilasi aplikasi dalam bekas.
Nyatakan port yang dibuka oleh bekas.
Konfigurasikan arahan lalai untuk mirror startup, ini dia CMD ["/go/src/app/app"]
.
Seterusnya, bina imej Docker kami dalam terminal tempatan dan laksanakan arahan berikut:
$ docker build -t my-go-app:v1 .
Arahan ini akan memasuki direktori semasa mengikut konfigurasi dalam Fail Docker Fail mencipta versi imej my-go-app
bernama v1
.
Langkah 3: Jalankan bekas Docker
Selepas mencipta imej Docker, anda perlu memulakan bekas. Kami menggunakan arahan berikut untuk memulakan imej my-go-app
:
$ docker run -d -p 8080:8080 my-go-app:v1
Arahan di atas digunakan untuk memulakan imej my-go-app
dalam bekas Docker dan memetakan port 8080 di dalam bekas ke hos ( iaitu mesin tempatan ) port 8080. -d
menunjukkan bahawa bekas sedang berjalan di latar belakang dan -p
menunjukkan pemetaan port. Selepas menjalankan arahan ini, kita boleh mengakses perkhidmatan pada mesin tempatan Contohnya, dengan mengakses http://localhost:8080 dalam penyemak imbas, kita boleh melihat mesej respons aplikasi.
Langkah 4: Muat naik imej Docker
Selepas kami membina imej Docker secara setempat, kami juga perlu memuat naiknya ke Docker Hub atau gudang persendirian kami sendiri, untuk memudahkan penggunaan aplikasi pada hos Docker lain. Kita perlu log masuk ke Docker Hub, iaitu, jalankan arahan berikut:
$ docker login
Seterusnya, kita boleh memuat naik imej ini dengan menanda dan menolaknya. Kita perlu melaksanakan arahan berikut:
$ docker tag my-go-app:v1 username/my-go-app:v1 $ docker push username/my-go-app:v1
Di mana my-go-app:v1
ialah versi imej yang kami bina secara tempatan dan username
ialah nama akaun Docker Hub.
Langkah 5: Pasang imej Docker pada hos jauh
Selepas kami memuat naik imej pada Docker Hub, kami boleh menggunakan imej kami pada apl mesin lain. Pertama, anda perlu memasang persekitaran Docker pada hos jauh. Selepas memasang Docker, kami boleh menarik imej yang telah dimuat naik ke Docker Hub atau gudang persendirian lain pada mesin jauh dengan menjalankan arahan berikut:
$ docker pull username/my-go-app:v1
Kemudian anda boleh mengikuti kaedah dalam langkah tiga Mulakan bekas. Setelah dimulakan, aplikasi kami boleh diakses pada hos jauh.
Ringkasan
Melalui lima langkah di atas, kami telah berjaya memperkenalkan cara untuk menggunakan aplikasi menggunakan Golang dan Docker. Hari ini, Docker telah menjadi salah satu penyelesaian utama untuk pembangunan dan penghantaran aplikasi moden, jadi dengan memanfaatkan Docker untuk menggunakan aplikasi Golang kami, kami dapat mengurangkan isu konfigurasi dan isu alam sekitar dengan ketara, menjadikan aplikasi kami lebih berprestasi mudah alih dan berskala.
Atas ialah kandungan terperinci Cara menggunakan aplikasi dengan Golang dan Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!