1 安装docker并且启动
sudo yum install docker
sudo systemctl start docker
2 创建项目目录并且创建dockerfile
sudo mkdir myDocker && cd myDocker && sudo touch Dockerfile
3 在dockerfile中写入内容:
FROM golang
MAINTAINER Razil "zc6496359"
WORKDIR $GOPATH/src/godocker
ADD . $GOPATH/src/godocker
RUN go build main.go
EXPOSE 8080
ENTRYPOINT ["./main"]
参数解释:
FROM -> 母镜像
MAINTAINER -> 维护者信息
WORKDIR -> 工作目录
ADD -> 将文件复制到镜像中
RUN -> 执行操作(就跟在终端执行语句一样)
EXPOSE -> 暴露端口
ENTRYPOINT -> 程序入口
docker详细参数介绍请参考官方文档参考地址
4 在目录里面创建main.go且在其中写入内容:
package main
import(
"net/http"
"fmt"
)
func main() {
http.HandleFunc("/zc",hello)
http.ListenAndServe(":8080",nil)
}
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w,"Hello Docker Form Golang!")
}
5 开始编译镜像
docker build -t zcdocker .
后面的这个 点 不要搞掉了。
6 运行
docker run -p 8080:8080 -d zcdocker
7 本机访问 localhost:8080/zc 返回Hello Docker Form Golang!则成功