首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么将golang部署到docker

怎么将golang部署到docker

作者头像
大话swift
发布2019-08-01 10:12:01
1.5K0
发布2019-08-01 10:12:01
举报
文章被收录于专栏:大话swift大话swift

我们都知道go能够这么火是因为他是docker官方标准语言,当然了docker也将go的性能发挥到了极致,可谓是相辅相成,交相辉映。而最近学洗go的过程中很多项目都会提供Dockerfile,这是什么鬼呢?后续查阅知道这个是将项目部署到docker的自动化配置引导文件。于是今天上班没事干花了一天时间吧周末的小项目给添加了个dockerfile……下面给大家分享一下艰辛的历程吧。

1 Dockerfile对应命令介绍

FROM 是自动拉取对应基础镜像的,通常作为起始的第一行,与我们命令行中docker pull xxx作用类似

//拉取golang最为基础的镜像
FROM golang
// 对应Python的环境镜像
FROM python

RUN 执行一个命名,如 mkdir -p xxx/xx

RUN ls -al
RUN mkdir /go/src/Fang
RUN cd /go/src/Fang

COPY 将我们的文件复制到对应的docker镜像中,比如我们的代码源文件

COPY . /go/src/Fang

上文中`.`代表就是把我们dockerfile所在的作为当前目录的所有文件,命令的意思就是将当前目录下的所有文件复制到镜像指定的/go/src/Fang目录下

关于Dockerfile部署时精简系统大小

1 采用COPY将必要文件复制,不要采用ADD

2 采用curl git等联网数据请求,这样可以部署时从网络请求资源,从而减少自制镜像的大小(如lz项目中需要一些GitHub上的开源库 即 开勇go get -u xxx 而不是选择将对应的库打包到镜像中)

下面把lz自己今天蹩脚的第一个Dockerfile分享给大家

FROM golang
RUN ls -al
RUN mkdir /go/src/Fang
RUN cd /go/src/Fang
RUN mkdir -p /go/src/Fang/doc/detail
RUN ls -al
RUN pwd
COPY . /go/src/Fang




#统一创建文件夹
RUN mkdir -p /go/src/golang.org/x
RUN mkdir  /go/src/google.golang.org/


RUN cd /go/src/golang.org/x && git clone https://github.com/golang/net.git && git clone https://github.com/golang/text.git
RUN echo "golang.org/x\n"
RUN ls -al
RUN cd /go/src/golang.org/ && git clone https://github.com/golang/appengine.git
RUN echo "golang.org\n"
RUN ls -al


RUN cd /go/src/google.golang.org/ && git clone https://github.com/golang/appengine.git



#安装简单的数据
RUN go get -u github.com/PuerkitoBio/goquery
RUN go get -u github.com/tealeg/xlsx


RUN cd /go/src/Fang
RUN go run index.go
#RUN go build index.go
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话swift 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档