返回
Docker 部署 Go 应用:入门指南
闲谈
2023-11-23 06:01:43
作为一名 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 的功能。