Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan golang dengan docker

Bagaimana untuk menggunakan golang dengan docker

PHPz
PHPzasal
2023-04-05 13:49:18929semak imbas

Dalam pembangunan perisian hari ini, kontena telah menjadi kaedah penggunaan yang sangat popular. Docker ialah salah satu alat kontena yang paling popular. Dalam Docker, kita boleh menggunakan pelbagai bahasa pengaturcaraan untuk mencipta aplikasi dan menggunakan mereka ke pelbagai platform awan. Hari ini, kami akan memberi tumpuan kepada cara menggunakan Docker untuk menggunakan aplikasi yang ditulis dalam Golang.

Golang ialah bahasa pengaturcaraan moden yang sangat popular, terutamanya untuk aplikasi web dan pembangunan aplikasi bahagian pelayan. Terdapat peningkatan bilangan pembangun Golang kerana banyak ciri lanjutannya seperti prestasi tinggi, sokongan merentas platform dan sokongan serentak terbina dalam. Ini menjadikan Golang sebagai bahasa pengaturcaraan yang sangat ideal untuk menulis aplikasi moden. Mari lihat cara menggunakan aplikasi Golang kami menggunakan Docker.

Pertama, kita perlu mendapatkan imej Golang rasmi daripada Docker Hub. Ini sangat mudah, hanya masukkan arahan berikut dalam terminal:

docker pull golang:latest

Ini akan memuat turun dan memasang versi terkini imej Golang. Tunggu dengan sabar semasa muat turun sedang dijalankan dan pastikan anda mempunyai sambungan internet yang baik.

Seterusnya, kami akan membuat aplikasi Golang baharu. Di sini kami akan membuat laman web mudah untuk memaparkan mesej selamat datang. Mula-mula, buat folder dan buat fail baharu yang dipanggil main.go di dalamnya:

mkdir myapp
cd myapp
touch main.go

Sekarang, buka editor kod kegemaran anda dan buka fail main.go. Kemudian, masukkan yang berikut:

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "欢迎来到我的网站!")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

Program ini menggunakan perpustakaan standard Golang untuk mencipta tapak web yang ringkas dan menghantar mesej alu-aluan kepada sesiapa sahaja yang melawati URL akar. Kita boleh menyusunnya menjadi binari menggunakan pengkompil Golang. Walau bagaimanapun, di sini kita akan menggunakan Docker untuk membina dan menjalankannya.

Seterusnya, kita perlu mencipta Fail Docker yang mengandungi semua langkah yang diperlukan untuk membina dan menjalankan aplikasi kita. Cipta fail Docker baharu dalam folder myapp:

touch Dockerfile

Seterusnya, kami membuka Fail Docker dan masukkan yang berikut:

FROM golang:latest

WORKDIR /go/src/app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

CMD ["app"]
EXPOSE 8080

Mari lihat rupa Fail Docker ini dalam Apa yang perlu dilakukan:

  • FROM golang:latest akan menggunakan imej rasmi Golang yang kami muat turun sebelum ini sebagai imej asas.
  • WORKDIR /go/src/app akan mencipta direktori kerja yang dipanggil go/src/app.
  • COPY . .Salin keseluruhan aplikasi ke dalam direktori kerja.
  • RUN go get -d -v ./... akan memuat turun dan memasang semua kebergantungan (jika ada).
  • RUN go install -v ./... akan menyusun aplikasi kami dan meletakkan binari dalam direktori /bin/app.
  • CMD ["app"] akan menjalankan binari yang baru kami susun sebagai proses utama kontena.
  • EXPOSE 8080 akan mendedahkan port 8080 kontena supaya kami boleh mengakses port ini daripada mesin hos.

Kini, kami bersedia untuk membina imej Docker kami. Untuk melakukan ini, navigasi ke folder myapp dalam terminal dan jalankan arahan berikut:

docker build -t myapp .

Ini akan membina imej baharu yang dipanggil myapp menggunakan Dockerfile yang baru kami buat. Selepas binaan selesai, kita boleh menjalankannya sebagai bekas:

docker run -p 8080:8080 myapp

Ini akan mencipta bekas baharu yang dipanggil myapp dan memetakannya ke port 8080 hos. Buka http://localhost:8080 dalam penyemak imbas anda dan anda sepatutnya dapat melihat mesej alu-aluan.

Kini, kami telah berjaya menggunakan Docker untuk menggunakan aplikasi Golang. Kami boleh mengambil kod kami sendiri, membinanya ke dalam bekas dan menggunakan kod tersebut ke mana-mana platform awan. Kuasa dan mudah alih Docker menjadikan aplikasi kontena sebagai trend masa hadapan, membolehkan pembangun aplikasi menumpukan lebih pada pelaksanaan logik perniagaan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan golang dengan 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