Rumah >pembangunan bahagian belakang >Golang >Pembangunan Golang: gunakan aplikasi menggunakan kontena Docker

Pembangunan Golang: gunakan aplikasi menggunakan kontena Docker

PHPz
PHPzasal
2023-09-22 08:31:471592semak imbas

Pembangunan Golang: gunakan aplikasi menggunakan kontena Docker

Pembangunan Golang: Gunakan kontena Docker untuk menggunakan aplikasi, memerlukan contoh kod khusus

Pengenalan:
Docker ialah platform kontena sumber terbuka yang boleh dengan mudah membungkus aplikasi dan kebergantungan mereka ke dalam bekas mudah alih bebas, dan boleh dijalankan dalam sebarang persekitaran . Bagi pembangun, menggunakan Docker boleh memudahkan penggunaan dan penyelenggaraan aplikasi.
Artikel ini akan memperkenalkan cara menggunakan kontena Docker untuk menggunakan aplikasi yang dibangunkan Golang dan memberikan contoh kod khusus.

1. Pasang Docker
Mula-mula, kita perlu memasang Docker. Docker secara rasmi menyediakan pakej pemasangan untuk setiap platform, dan anda boleh memilih versi yang sesuai untuk pemasangan mengikut sistem anda sendiri. Selepas pemasangan selesai, gunakan arahan versi docker untuk menyemak sama ada pemasangan berjaya.

2. Tulis aplikasi Golang
Seterusnya, kami tulis aplikasi Golang mudah sebagai contoh. Dalam direktori kerja anda, cipta fail bernama main.go dengan kandungan berikut:

package main

import "fmt"

func main() {
    fmt.Println("Hello, Docker!")
}

3. Buat Fail Docker
Buat Fail Docker dalam direktori akar aplikasi. Fail Docker digunakan untuk menentukan langkah dan konfigurasi untuk membina imej Docker. Dalam Dockerfile, kita perlu menentukan imej asas, menambah fail aplikasi, menetapkan direktori kerja, dsb. Berikut ialah contoh fail Docker yang mudah:

FROM golang:latest

WORKDIR /app

COPY . .

RUN go build -o main .

CMD ["./main"]

Dalam fail Docker di atas, kami menggunakan golang:latest sebagai imej asas, tentukan direktori kerja sebagai /app dan salin semua fail dalam direktori semasa ke direktori /app dalam imej Bawah. Seterusnya, susun aplikasi melalui arahan go build, dan gunakan CMD untuk menentukan arahan permulaan aplikasi.

4 Bina imej Docker
Dalam terminal, masukkan direktori akar aplikasi dan jalankan arahan berikut untuk membina imej Docker:

docker build -t my-golang-app .

Antaranya, parameter -t digunakan untuk menentukan nama dan label imej itu. Di sini kami menamakan imej saya -golang-app, dan label menggunakan lalai terkini.

5. Jalankan bekas Docker
Selepas binaan selesai, kita boleh menggunakan arahan berikut untuk menjalankan bekas Docker:

docker run my-golang-app

6. Petakan port kontena ke hos
Secara lalai, aplikasi dalam bekas tidak boleh secara langsung diakses melalui rangkaian. Jika kita perlu mendedahkan aplikasi dalam bekas kepada akses luaran, kita boleh memetakan port kontena kepada hos. Pemetaan port boleh dilakukan menggunakan arahan berikut:

docker run -p 8080:8080 my-golang-app

Dalam arahan di atas, kami memetakan port 8080 kontena ke port 8080 hos. Dengan cara ini, kita boleh mengakses aplikasi dengan mengakses port 8080 mesin hos.

7. Ringkasan
Artikel ini memperkenalkan cara menggunakan kontena Docker untuk menggunakan aplikasi yang dibangunkan oleh Golang. Kami mentakrifkan langkah dan konfigurasi untuk membina imej dengan menulis Dockerfile, kemudian gunakan arahan binaan docker untuk membina imej, dan akhirnya gunakan arahan docker run untuk menjalankan bekas. Selain itu, ia juga menerangkan cara memetakan port kontena kepada hos untuk memudahkan akses luaran kepada aplikasi. Saya harap artikel ini berguna untuk menggunakan aplikasi Golang menggunakan Docker.

Bahan rujukan:

  1. Dokumentasi rasmi Docker: https://docs.docker.com/
  2. Dokumentasi rasmi Golang: https://golang.org/

Atas ialah kandungan terperinci Pembangunan Golang: gunakan aplikasi menggunakan kontena 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