Rumah >pembangunan bahagian belakang >Golang >Bina aplikasi menggunakan rangka kerja web Golang rangka kerja Revel dan Docker

Bina aplikasi menggunakan rangka kerja web Golang rangka kerja Revel dan Docker

WBOY
WBOYasal
2023-06-24 09:25:521178semak imbas

Dengan pembangunan berterusan teknologi Internet, semakin banyak perusahaan dan pasukan menggunakan seni bina perkhidmatan mikro untuk membangun dan menggunakan aplikasi. Antaranya, menggunakan bekas Docker untuk penggunaan dan pengurusan aplikasi adalah cara yang semakin popular. Bagi pembangun yang menggunakan bahasa Golang untuk membangunkan aplikasi web, rangka kerja Revel ialah rangka kerja web yang ringkas, mudah digunakan, cekap dan stabil yang boleh digunakan dengan mudah bersama-sama dengan bekas Docker.

Artikel ini akan memperkenalkan proses membina aplikasi web menggunakan rangka kerja Revel dan bekas Docker. Secara khusus, ia akan bermula dengan memasang dan mengkonfigurasi persekitaran, langkah demi langkah memperkenalkan cara mencipta aplikasi Revel dan imej Docker, dan akhirnya menunjukkan cara menggunakan bekas Docker untuk menjalankan dan menggunakan aplikasi.

  1. Persekitaran pemasangan dan konfigurasi

Mula-mula, pasang dan konfigurasikan persekitaran Golang dan Docker. Untuk pemasangan dan konfigurasi Golang, sila rujuk dokumentasi rasmi. Untuk memuat turun dan memasang Docker, sila rujuk https://docs.docker.com/engine/install/. Selain itu, anda boleh menggunakan Docker Desktop untuk memudahkan pemasangan dan konfigurasi Docker, yang menyokong sistem pengendalian Windows, macOS dan Linux. Untuk butiran, sila rujuk https://www.docker.com/products/docker-desktop.

  1. Buat Aplikasi Revel

Seterusnya, anda perlu mencipta aplikasi Revel baharu. Anda boleh menggunakan alat Revel CLI untuk membuat aplikasi dengan cepat Perintah khusus adalah seperti berikut:

$ go get github.com/revel/revel
$ go get github.com/revel/cmd/revel
$ revel new myapp

Antaranya, baris arahan pertama akan mendapat kod utama rangka kerja Revel, dan baris kedua bagi. arahan akan mendapat alat Revel CLI. Baris arahan ketiga akan mencipta aplikasi Revel baharu bernama myapp menggunakan alat Revel CLI. Apabila membuat aplikasi, anda boleh memilih daripada templat aplikasi yang berbeza seperti RESTful API, Aplikasi Web, Pelayan WebSocket, dsb.

Selepas mencipta aplikasi, anda boleh melihat struktur aplikasi dalam direktori myapp. Fail utama termasuk direktori aplikasi (mengandungi logik utama aplikasi), direktori conf (mengandungi fail konfigurasi aplikasi) dan direktori awam (mengandungi sumber seperti fail statik).

  1. Bina imej Docker

Selepas melengkapkan penciptaan aplikasi Revel, anda perlu membungkus aplikasi ke dalam imej Docker untuk memudahkan penggunaan dan berjalan dalam persekitaran yang berbeza.

Pertama, anda perlu mencipta fail bernama Dockerfile dalam direktori myapp dan mentakrifkan arahan binaan imej Docker di dalamnya. Berikut ialah contoh fail Docker yang mudah:

FROM golang:alpine
MAINTAINER xxx@xxx.com

RUN apk add --no-cache git

WORKDIR /go/src/app

COPY . .

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

CMD ["app"]

Prinsip fail Dockerfile di atas ialah memuat turun versi alpine Golang, dan kemudian menyalin semua fail dalam direktori program myapp ke direktori aplikasi yang dinamakan. Seterusnya, perpustakaan bergantung akan dimuat turun dan dipasang, dan aplikasi akan disusun dan dipasang dalam direktori /bin. Akhir sekali, gunakan arahan CMD untuk menjalankan aplikasi myapp.

Seterusnya, gunakan arahan berikut untuk membina imej Docker:

$ docker build -t myapp .

Antaranya, "-t" menentukan label imej Docker, di sini ditetapkan kepada "myapp", yang bermaksud membina aplikasi myapp Imej Docker. Ambil perhatian bahawa kerana arahan ini menggunakan Dockerfile dalam direktori semasa untuk membina imej, anda perlu menjalankan arahan ini dalam direktori myapp.

  1. Jalankan dan gunakan aplikasi

Selepas melengkapkan pembinaan imej Docker, anda perlu menjalankan dan menggunakan aplikasi.

Pertama, anda boleh menggunakan arahan berikut untuk menjalankan bekas Docker:

$ docker run -p 9000:9000 myapp

Antaranya, "-p" menentukan pemetaan antara port kontena dan port hos Di sini, bekas port 9000 dipetakan ke port hos 9000 . Selepas menggunakan arahan di atas, anda sepatutnya boleh mengakses aplikasi dengan mengakses http://localhost:9000 dalam pelayar.

Untuk memudahkan penggunaan dan pengurusan aplikasi, anda boleh menggunakan Docker Compose untuk mengurus berbilang bekas. Mula-mula, anda perlu mencipta fail bernama docker-compose.yml dan mentakrifkan maklumat perkhidmatan yang berkaitan di dalamnya. Berikut ialah contoh mudah:

version: '3'
services:
  myapp:
    build: .
    container_name: myapp
    ports:
      - "9000:9000"

Dalam contoh di atas, perkhidmatan myapp mengandungi arahan membina imej Docker, nama kontena Docker dan maklumat pemetaan port. Anda boleh menggunakan arahan berikut untuk memulakan dan menghentikan aplikasi:

$ docker-compose up
$ docker-compose down

Perintah Docker-compose up akan memulakan semua perkhidmatan yang ditentukan, manakala arahan Docker-compose down akan menghentikan semua perkhidmatan dan memadamkan bekas, rangkaian dan sumber lain.

Ringkasan

Artikel ini memperkenalkan proses membina aplikasi menggunakan rangka kerja Web Golang Revel dan Docker. Khususnya, anda perlu memasang dan mengkonfigurasi persekitaran Golang dan Docker terlebih dahulu, kemudian gunakan alat Revel CLI untuk mencipta aplikasi Revel baharu, kedua membungkus aplikasi itu ke dalam imej Docker, dan akhirnya menggunakan bekas Docker untuk menjalankan dan menggunakan aplikasi. Melalui langkah di atas, aplikasi Revel boleh digunakan dan dijalankan dengan mudah, dan digabungkan dengan bekas Docker, aplikasi boleh diurus dan digunakan dengan lebih cekap.

Atas ialah kandungan terperinci Bina aplikasi menggunakan rangka kerja web Golang rangka kerja Revel 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