Rumah >pembangunan bahagian belakang >Golang >Cara menggunakan aplikasi dengan Golang dan Docker

Cara menggunakan aplikasi dengan Golang dan Docker

PHPz
PHPzasal
2023-03-22 16:31:481414semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn