docker部署go的两种基础镜像


本文摘自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"]

打包镜像

1

docker build -t gotest .

golang:latest 编译过程,其实就是在容器内,构建了一个go开发环境这种源镜像打包大概800M左右,比较大。

阅读剩余部分

相关阅读 >>

Docker的优势在哪儿

Docker镜像和容器的区别

Docker如何正确部署web项目呢

怎样修改Docker容器端口

Docker中cgroup的功能是什么

宿主主机怎么访问虚拟机中的Docker服务

Docker集群容器怎么查看日志

Docker核心概念介绍

Docker容器编码方式设置错误

Docker容器日志在哪个目录

更多相关阅读请进入《Docker》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...