返回

Docker 部署 Go 应用:入门指南

闲谈

作为一名 Go 开发人员,Docker 容器是部署和管理您的应用程序的强大工具。在本指南中,我们将逐步介绍如何使用 Docker 部署简单的 Go 应用程序。

    首先,让我们创建一个简单的 Go 应用程序,它提供一个求和服务。
    
    ```go
    package main
    
    import (
        "fmt"
        "log"
        "net/http"
        "net/rpc"
    )
    
    type Args struct {
        A, B int
    }
    
    type Reply struct {
        C int
    }
    
    func main() {
        rpc.Register(new(Calculator))
        rpc.HandleHTTP()
        
        log.Fatal(http.ListenAndServe(":8888", nil))
    }
    
    type Calculator int
    
    func (c *Calculator) Sum(args *Args, reply *Reply) error {
        reply.C = args.A + args.B
        return nil
    }
    ```
    
    保存文件为`sum.go`,并使用`go build`命令构建应用程序。然后,我们可以使用 Docker 创建一个容器来运行我们的应用程序。
    
    ```sh
    docker build -t go-sum .
    docker run -p 8888:8888 go-sum
    ```
    
    现在,我们的应用程序在`8888`端口上运行,我们可以使用`curl`命令测试它。
    
    ```sh
    curl -X POST http://localhost:8888/RPC2 -H "Content-Type: application/json" -d '{"method":"Calculator.Sum", "params":[{"A": 1, "B": 2}], "id": 1}'
    ```
    
    这应该返回`{"id":1, "result":{"C":3}, "error":null}`的响应。
    
    恭喜!您已成功使用 Docker 部署了 Go 应用程序。通过遵循本指南,您可以部署和管理更复杂的 Go 应用程序,并充分利用 Docker 的功能。