首页 > 行业数据 > > 正文

[Docker]如何使用Docker部署一个go程序

时间:2023-03-12 22:20:01 来源:腾讯云


(资料图)

Docker定义

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

本文我们介绍怎么使用 Docker 部署 Go 项目。阅读本文,需要读者朋友们了解 Docker 的基本操作。

go项目的开发

首先,我们开发一个简单的 Go Web 项目,使用 Go 内置命令行工具go build编译生成可执行文件./hello。这是项目结构。

.├── Dockerfile├── go.mod├── hello├── main.go└── service.log

我们使用 Go 标准库编写一个 Web 项目,运行编译生成的可执行程序,访问http://127.0.0.1:8080/hello,输出hello word

curl http://127.0.0.1:8080/hello# 输出hello world

Docker的使用

我们开始编写Dockerfile文件,使该项目可以支持使用 Docker 部署。

Dockerfile 文件:

# 基础镜像FROM alpine:3.12# 维护者MAINTAINER frank# docker build 时执行命令 - 创建目录RUN mkdir -p "/data/app" \&& ln -sf /dev/stdout /data/app/service.log# 工作目录WORKDIR "/data/app"# 拷贝COPY hello /data/app/hello# docker run 时执行命令ENTRYPOINT ["./hello"]

在编写完 Dockerfile 文件之后,我们可以使用 docker 命令构建镜像,前提是我们本机已安装 Docker。

docker build -t hello:v1.0.0 .

运行以上构建 Docker 镜像的命令之后,我们就已成功构建 Docker 镜像。

关键词:
x 广告
共同抗疫!郑州71岁党员志愿者每天爬6栋楼,提醒800多户居民做核酸

1月4日,郑州市新冠肺炎疫情防控指挥部办公室发布通告对部分区域实施管控措施。这是近半年来,新冠疫情第3次造访郑州。截止至1月10日24时,

安阳疫情最新消息|1月11日8时至12日8时安阳市新增本土确诊病例39例,累计123例

安阳疫情最新消息2022年1月11日8时至12日8时安阳市新型冠状病毒肺炎疫情最新情况1月11日8时至12日8时,全市新增本土确诊病例39例(汤阴县38

迅速高效!“河南抗疫互助通道”网上网下联动 获群众点赞

核酸检测24小时了还没查到结果,怎么办?现在高速下站口的管控政策到底是什么样子的?从洛阳老城区自驾走高速回郑州,收费站还劝返吗?苏八

信阳市疫情防控工作视频调度会召开 陈志伟出席会议

1月11日,市疫情防控工作视频调度会召开。代市长陈志伟出席会议并讲话。听取有关疫情防控重点工作和各县区(管理区、开发区)疫情防控工作

全国最新疫情消息:11日新增本土确诊病例166例 天津市今日启动第二轮全员核酸检测

11日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增新冠肺炎本土确诊病例166例(河南118例,其中安阳市65例、许昌市41例、

1月12日天津市放假半天 开启第二轮全员核酸检测

1月12日,天津市人民政府发布重要通告,为做好天津市第二轮全员核酸检测工作,全市机关和企事业单位于1月12日(星期三)下午放假半天。广大

x 广告

Copyright ©  2015-2022 每日评测网版权所有  备案号:浙ICP备2022016517号-15   联系邮箱:5 146 761 13 @qq.com