本文摘自PHP中文网,作者V,侵删。

一、 golang:latest 基础镜像
1 2 3 | mkdir gotest
touch main.go
touch Dockerfile
|
示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package main
import (
"fmt"
"log"
"net/http"
)
func main() {
http.HandleFunc( "/" , func(writer http.ResponseWriter, request *http.Request) {
fmt.Fprint(writer, "Hello World" )
})
fmt.Println( "3000!!" )
log.Fatal(http.ListenAndServe( ":3000" , nil))
}
|
Dockerfile配置
1 2 3 4 5 6 7 8 9 10 11 12 | #源镜像
FROM golang:latest
#设置工作目录
WORKDIR $GOPATH /src/github.com/gotest
#将服务器的go工程代码加入到docker容器中
ADD . $GOPATH /src/github.com/gotest
#go构建可执行文件
RUN go build .
#暴露端口
EXPOSE 3000
#最终运行docker的命令
ENTRYPOINT [ "./gotest" ]
|
打包镜像
golang:latest 编译过程,其实就是在容器内,构建了一个go开发环境这种源镜像打包大概800M左右,比较大。
阅读剩余部分
相关阅读 >>
Docker如何杀死卡住的容器
重启Docker会重启容器内的apache吗
Docker有什么作用?
tomcat和Docker之间有什么区别?
怎么删除Docker的单个容器卷
Docker save和Docker export有什么区别
Docker是干什么用的?
windows 有 Docker 吗?
Docker可以隔离什么
Docker的核心组件是什么
更多相关阅读请进入《Docker》频道 >>
转载请注明出处:木庄网络博客 » docker部署go的两种基础镜像