go应用 docker部署
1.创建hello.go
//hello.go
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, World!")
}
2.设置go编译的环境
GOOS=linux //编译到linux
GOARCH=amd64 //64位,如果镜像系统是32位,则GOARCH=386
go build
3.编写Dockerfile
方法一:这样出来的镜像文件较大。
FROM golang
COPY ./hello /tmp/hello
WORKDIR /tmp/
RUN chmod +x hello
方法二:最小化构建(推荐)
FROM alpine
COPY ./hello /tmp/hello
WORKDIR /tmp/hello
RUN chmod +x hello
ENTRYPOINT ["./hello"]
4.构建镜像
docker build -t hello-image .
docker images //查看镜像
5.运行容器
docker run hello-image ./hello
6.Q:我们需要将 Golang 容器和 Mysql 容器关联起来,那么我们需要怎么做呢?
A:增加命令 --link mysql:mysql 让 Golang 容器与 Mysql 容器互联;通过 --link,可以在容器内直接使用其关联的容器别名进行访问,而不通过IP,但是--link只能解决单机容器间的关联,在分布式多机的情况下,需要通过别的方式进行连接
本文详细介绍如何使用Docker部署Go应用,包括创建Go源代码、设置编译环境、编写Dockerfile、构建镜像、运行容器等步骤,并提供两种Dockerfile编写策略。此外,还介绍了如何通过--link命令实现Golang容器与Mysql容器的关联。

被折叠的 条评论
为什么被折叠?



