资讯专栏INFORMATION COLUMN

golang 基于Mac os 构建镜像

clasnake / 3045人阅读

摘要:测试项目项目内容如下基础镜像准备自定义最小基础镜像自定义基础镜像官方文档看完后最还是一下如何构建,使用查看的大小为,基础镜像已经构建成功,接下来把程序构建镜像构建镜像编写在当前项目目录下创建文件,如果使用建议安装搜到点击安装就能语法

golang测试项目 项目内容如下:
package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8000", nil)
}

func handler(rw http.ResponseWriter, req *http.Request) {
    fmt.Fprintf(rw, "Hello World,%s", req.URL.Path[1:])
}
基础镜像准备 自定义最小基础镜像

自定义基础镜像官方文档看完后最还是google一下如何构建,tar cv --files-from /dev/null | docker import - scratch,使用docker images查看scratch的大小为0B,基础镜像已经构建成功,接下来把golang程序构建镜像

构建golang镜像 编写Dockerfile

在当前项目目录下创建Dockerfile文件,如果使用IDE建议安装plugins,搜到Dockerfile点击安装,就能语法高亮及提示

FROM scratch
ADD main /main
EXPOSE 8000
CMD ["/main"]
构建golang项目镜像
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o  main .
docker build -t "container/echo:latest" .
docker run -itd --name echo -p 8000:8000 container/echo:latest
# 查看容器是否启动成功,没成功使用docker logs查看日志
docker ps -a 
mac os 启动错误

standard_init_linux.go:190: exec user process caused "exec format error"
如果出现以上错误是因为你的golangbuild时没有指定为linux平台,因为Docker内核依赖于Linux开发的,所以在mac os启动Docker时还是使用Boot2Docker拖起的

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27429.html

相关文章

  • 三年后,我们从 Docker 转到了 RKT

    摘要:在被纳入后,与之争日趋白热化。一如微软曾经试图通过在中安装来排挤,现在正在尝试将融入到,以此来打击,,和。如同微软确确实实提升了的性能。浏览器突出了微软的优势,所以他们在年内都没有继续开发了。 在 Swarm 被纳入 Docker 1.12后,Swarm 与 K8S 之争日趋白热化。本文作者 Adriaan de Jonge 身为 Xebia CTO ,专精 DevOps 及持续交付,...

    Achilles 评论0 收藏0
  • 创建尽可能小的 Docker 容器

    摘要:我一直在寻找尽可能小的容器入手,并且发现了一个镜像是完美的,真正的完美它简洁,小巧以及快速。所以这可能就是最小的镜像。尽管如此,这样看起来会很复杂并且导致容器很大。 注:本文由 Adriaan de Jonge 编写,本文的原文地址为 Create The Smallest Possible Docker Container 当我们在使用 Docker 的时候,你会很快注意到...

    yankeys 评论0 收藏0
  • Gin实践 番外 Golang交叉编译

    摘要:交叉编译项目地址快上车,支持一波原文地址前言在连载九讲解构建镜像时,我们编译可执行文件用了另外一个形式的命令,不知道你有没有疑问说明我们将讲解命令各个参数的作用,希望你在阅读时,将每一项串联起来,你会发现这就是交叉编译相关的小知识 Golang交叉编译 项目地址:https://github.com/EDDYCJY/go... (快上车,支持一波) 原文地址:https://segme...

    alighters 评论0 收藏0
  • Gin实践 番外 Golang交叉编译

    摘要:交叉编译项目地址快上车,支持一波原文地址前言在连载九讲解构建镜像时,我们编译可执行文件用了另外一个形式的命令,不知道你有没有疑问说明我们将讲解命令各个参数的作用,希望你在阅读时,将每一项串联起来,你会发现这就是交叉编译相关的小知识 Golang交叉编译 项目地址:https://github.com/EDDYCJY/go... (快上车,支持一波) 原文地址:https://segme...

    刘德刚 评论0 收藏0
  • Golang 在十二赞的深度应用

    摘要:在十二赞的深度应用我们是十二赞,一个致力于帮助电商卖家进入小程序的小团队,我们的主页是。我们的整个业务构建于阿里云之上,有台每一对都有独立的外网同时也在同一个内网之中。,我们把所有的文件都挪到阿里云的服务上。当然,也是可执行文件发布的。 Golang 在十二赞的深度应用 我们是十二赞,一个致力于帮助电商卖家进入小程序的小团队,我们的主页是http://www.12zan.cn/。在实际...

    Honwhy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<