go项目的Dockerfile案例实战详解

这篇具有很好参考价值的文章主要介绍了go项目的Dockerfile案例实战详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在golang项目中创建一个Dockerfile文件,执行Dockerfile即可编译出docker的镜像
# FROM ... AS builder : 表示依赖的镜像只是使用在编译阶段
FROM golang:1.18.1 AS builder

# 编译阶段的工作目录,也可以作为全局工作目录
WORKDIR /app

# 把当前目录的所有内容copy到 WORKDIR指定的目录中
COPY . .

# 定义go build的工作环境,
# 例如GOOS=linux、GOARCH=amd64,
# 这样编译出来的 'main可执行文件' 就只能在linux的amd64架构中使用
ARG TARGETOS
ARG TARGETARCH

# 执行go build; --mount:在执行build时,会把/go/root/.cache/go-build 临时挂在到容器中
RUN --mount=type=cache,target=/go --mount=type=cache,target=/root/.cache/go-build \
    GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o main

FROM alpine:3.14.0

# 把执行builder阶段的结果 /app/main拷贝到/app中
COPY --from=builder /app/main /app
# 把配置文件copy/app/tsvbin中
COPY ./tsvbin /app/tsvbin

# 运行main命令,启动项目
# /app/main 指向RUN命令的 go build -o main的结果
ENTRYPOINT ["/app/main"]

参开文献:https://new.qq.com/rain/a/20220714A014LL00文章来源地址https://www.toymoban.com/news/detail-540802.html

到了这里,关于go项目的Dockerfile案例实战详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker镜像的创建方法及Dockerfile案例

    Dockerfile结构大致分为四个部分: 基础镜像信息 、 维护者信息 、 镜像操作指令 和 容器启动时执行指令 Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。有了Dockerfile,当我们需要定制

    2024年02月09日
    浏览(44)
  • Docker dockerfile 案例:centos 支持 vim

    创建一个 centos 容器,容器内默认是不支持使用 vim 指令的,只能使用 vi 指令。(附:Dockerfile 语法与指令) 但想在创建 centos 容器后就支持 vim 指令,需要自定义 centos ,编写 dockerfile : 保存好 dockerfile ,可以直接在当前目录执行编译命令,将 dockerfile 编译成镜像: 等待镜像

    2024年02月14日
    浏览(71)
  • Docker技术入门| Part03:Dockerfile详解(Dockerfile概念、Dockerfile 指令、使用Dockerfile构建镜像)

    Docker镜像原理 Docker镜像是由特殊的文件系统叠加而成 最底端是bootfs,并使用宿主机的bootfs 第二层是root文件系统rootfs,称为base image 然后再往上可以叠加其他的镜像文件 统文件系统(UnionFile System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统的视角,这样就隐

    2024年02月09日
    浏览(58)
  • Docker容器:docker数据管理、镜像的创建及dockerfile案例

    因为数据写入后如果停止了容器,再开启数据就会消失,使用数据管理的数据卷挂载,实现了数据的持久化,重启数据还会存在;还有一种方式,容器之间共享文件即相当于有个备份,也会解决停止容器后数据消失的问题。 管理 Docker 容器中数据主要有两种方式:数据卷(

    2024年02月12日
    浏览(51)
  • docker容器:docker镜像的三种创建方法及dockerfile案例

    目录 一、基于现有镜像创建 1、创建启动镜像 2、生成新镜像 二、基于本地模板创建  1、OPENVZ 下载模板 2、导入容器生成镜像 三、基于dockerfile创建  1、dockerfile结构及分层 2、联合文件系统 3、docker镜像加载原理 4、dockerfile操作常用的指令 (1)FROM指令 (2)MAINTAINER 指令 (3)RUN指令

    2023年04月20日
    浏览(54)
  • 案例:Docker 镜像的创建及使用(commit与dockerfile方式)

    我要将一个包含nginx的容器做成一个镜像,供其他人使用,这样其他人就不必再执行nginx安装等操作。 首先,还是启动一个容器: 命名为n1。 然后在容器内部安装nginx: 这里yum源出现问题: 解决看这里 安装成功并启动运行: 在另一个终端,查看nginx情况: 然后看到 ip是 17

    2024年02月14日
    浏览(34)
  • Docker(五)DockerFile详解

     前言 :         学习之前需要了解docker相关概念,移步 Docker官网          此处不再赘述虚拟化技术和docker VS 虚拟机 的一些内容,有条件的建议直接移步 度娘         笔记全程操作在华为云务器,CentOS7系统。需要自行准备操作环境。 Dockerfile是用来构建Docker镜像的文本

    2024年02月05日
    浏览(40)
  • Docker容器 - DockerFile详解

    目录 DockerFile 一、是什么 二、构建步骤 DockerFile构建过程 一、DockerFile基础 二、Docker执行DockerFile的流程 三、总结 DockerFile常用保留字 零、参考Tomcat的DockerFile 一、FROM 二、MAINTAINER 三、RUN 1.shell 2.exec 四、EXPOSE 五、WORKDIR 六、USER 七、ENV 八、ADD 九、COPY 十、VOLUME 十一、CMD 1.举个

    2024年02月15日
    浏览(51)
  • 【零基础入门Docker】Dockerfile中的USER指令以及dockerfile命令详解

    ✍ 面向读者:所有人 ✍ 所属专栏:Docker零基础入门专栏 目录 第 1 步:创建 Dockerfile 第 2 步:构建 Docker 镜像 第 3 步:运行 Docker 容器 第 4 步:验证输出 dockerfile命令详解 最佳实践 默认情况下,Docker 容器以 Root 用户身份运行。如果您在 Docker 容器内大规模部署应用程序,这

    2024年02月05日
    浏览(41)
  • [Docker]五.Docker中Dockerfile详解

    Dockerfile 就是用来构建 docker 镜像的构建文件 新建一个名为 Dockerfile 文件,并在文件内添加以下内容:         要构建并实现上面的镜像, 以前的办法: 下载一个centos镜像,通过镜像启动容器,进入容器,然后下载net-tools软件,然后cd 到wwwroot目录,执行/bin/bash,然后退出容器,把这个容器

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包