go 代码文件:

package main

import (
    "github.com/gin-gonic/gin"
    "log"
    "net/http"
)

func main() {
    r := gin.Default()
    r.GET("/", handlerindex)
    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

func handlerindex(ctx *gin.Context) {
    log.Println("hello world handlerindex")
    ctx.JSON(http.StatusOK, `handlerindex`)
}

Dockerfile 文件:

#源镜像
FROM golang:latest
#作者
MAINTAINER Razil "test2022@163.com"
## 在docker的根目录下创立相应的应用目录
RUN mkdir -p /www/webapp
## 设置工作目录
WORKDIR /www/webapp
## 把以后(宿主机上)目录下的文件都复制到docker上刚创立的目录下
COPY . /www/webapp
#将服务器的go工程代码退出到docker容器中
#ADD . $GOPATH/src/github.com/mygohttp
#go构建可执行文件
RUN go build main.go
#裸露端口
EXPOSE 8080

RUN chmod +x main
ENTRYPOINT ["./main"]

## 启动docker须要执行的文件
#CMD go run main.go
#最终运行docker的命令
#ENTRYPOINT  ["./mygohttp"]
1.dockerfile 制作
dockerfile 制作的源镜像咱们能够在 hub.docker.com 找到 golang官网提供的源镜像,咱们采纳golang:latest。
留神dockerfile文件名称必须是Dockerfile,其文件必须再工程目录下。

2.执行dockerfile,并生成docker镜像
在当前目录下,执行 docker build -t  mygohttp .
docker images

3.docker运行mygohttp
docker run --name mygohttp -p 8080:8080 -d mygohttp

此时便启动了docker容器。
咱们能够在 http://127.0.0.1:8080/ 拜访该服务。

或者
docker run -d --name golang -p 8080:8080 --net mynet --ip 172.172.0.10 -v /Volumes/work/www/Go/webapp/:/www/webapp goweb
## 这里创立的docker名字为“golan” 名称应该写在 --name 之后;
## 网络的设置,我应用了自定义的docker网络设置,见后面的几个对于docker的内容;
## 创立共享目录,吧宿主机的“/Volumes/work/www/Go/webapp/” 文件夹同步到到 docker下的 /www/webapp ,这个目录也就是咱们再创立镜像时候设置的工作目录
## 应用咱们刚刚创立的镜像"goweb"
## 映射宿主机的 8080端口到docker上的8080端口



###go语言工程制作yaml文件,并部署到kubernetes
1.1.制作yaml文件
首先基于现有的docker镜像,制作出deployment和service。

2.部署mygohttp服务
kubectl create -f kube-mygohttp.yaml

此时咱们能够通过 http://10.7.28.129:30836 拜访。
通过 kubectl logs -f 实时查看日志。

罕用docker命令:

查问容器:
docker ps -a

删除容器
docker rm 6bf7c8fb514f
留神:rm 命令前面的是containerID 依据各自状况变动


删除images
docker image rm hello-world


进行服务
docker stop mygohttp
删除container实例
docker rm mygohttp
删除container镜像
docker rmi mygohttp

材料参考:
https://blog.csdn.net/niyueli…
https://blog.csdn.net/niyueli…

ubuntun 下装置 docker

https://www.jianshu.com/p/c27…