golang应用打包成docker镜像
golang编译的应用是不需要依赖其他运行环境的,那么为什么还需要打包成docker镜像呢?当需要附带配置和日志等文件时可以更方便的移植和运行,下面介绍从dockerfile编译成镜像。
在项目根目录新建dockerfile,内容如下:
FROM alpine:latest #基于的镜像不是golang(733M),而是alpine(4.14M) MAINTAINER fanyang "luckyfanyang@gmail.com" WORKDIR $GOPATH/src/login ADD config $GOPATH/src/config #此目录存放的是所有项目的数据库配置
ADD login/conf $GOPATH/src/login/conf #此目录存放的是beego项目的配置
ADD login/login $GOPATH/src/login/login #编译后的可执行文件 RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 EXPOSE 8080 ENTRYPOINT ["./login"]
ubuntu下打开终端定位到src目录(因为需要上传config目录,不能直接定位到login目录)执行命令:
docker build -t login -f ./login/dockerfile .
打包成镜像以后运行命令:
docker run -d -p : login
有时候想共享数据目录使用下列命令:
docker run -itd --name voltest -v /opt/mytest alpine docker run -it --name helloworld --volumes-from=voltest alpine
这样在voltest下mytest目录里新建的文件会出现在helloworld下的mytest目录,进入目录查询文件使用:
docker exec -it voltest sh
golang应用打包成docker镜像的更多相关文章
- SpringBoot打包成Docker镜像
1. 本文环境 Maven:3.6.3(Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11(Docker搭建参考) ...
- 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...
- 将java项目打包成docker镜像
简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的j ...
- 将java项目打包成docker镜像:镜像=副本
简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的j ...
- IDEA中直接将 SpringBoot项目打包成 Docker镜像时 pom.xml的配置
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactI ...
- JAVA SpringBoot 项目打包(JAR),在打包成 docker 镜像的基本方法
1,打包 SpringBoot 项目,使用 IDEA 如下图 2,将 JAR 包上传到安装了 Docker 的 linux 服务器上,并且在相容目录下创建一个名为 Dockerfile 的文件 3,在 ...
- 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
- 操作系统-容器-Docker:如何将应用打包成为 Docker 镜像?
ylbtech-操作系统-容器-Docker:如何将应用打包成为 Docker 镜像? 1.返回顶部 1. 虽然 DockerHub 提供了大量的镜像,但是由于企业环境的多样性,并不是每个应用都能在 ...
- Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。
背景:Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像. 原文地址 https://github.com/weibaohui/springboot ...
随机推荐
- Regular Expression Patterns
Regular Expression Patterns Following lists the regular expression syntax that is available in Pytho ...
- 常用的npm命令
npm ls -g 列出全局安装的所有模块 npm ls webpack -g 查看全局安装的模块版本信息 npm view webpack versions 查看npm服务器上的全部版本信息 npm ...
- django CBV模式下如何去掉csrf验证
方式一:from django.views.decorators.csrf import csrf_exemptfrom django.utils.decorators import method_d ...
- 在线扫描PDF JPG 图片上面文字
在线扫描PDF JPG 图片上面文字
- Oracle cursors 游标 for循环遍历
oracle提供了for循环语句,让我们可以遍历select搜索的结果.用法也很简单,代码如下: DECLARE ; BEGIN FOR C IN C1 LOOP -- 对select出的每一行进行操 ...
- django的类视图-11
目录 1. 使用类视图 创建类视图 注册路由 类视图使用装饰器 在url中装饰 在类视图中装饰 method_decorator 的 name 参数 使用Mixin扩展类 使用函数方式定义的视图叫函数 ...
- Duplicate entry '' for key 'username'
一.报错信息: ERROR 2019-04-22 02:00:29,971 exceptions 30 [<wechat.views.WixinView object at 0x7f3bb01d ...
- 如何防止网页被植入广告,内容被监控-HTTPS
前几天一朋友说访问网站页面底部怎么出现小广告了呢,内容有点不雅,朋友截图发给我,调侃我说怎么放这种广告,我一听纳闷,网站运行伊始,从来没有投放过任何广告,更别说不雅广告了. 最近还遇到一个问题就是,网 ...
- Go语言连接Oracle(就我这个最全)
综合参考了网上挺多的方案 倒腾了半天终于连接好了 Go都出来这么多年了 还没有个Oracle的官方驱动... 过程真的很蛋疼..一度想放弃直接连ODBC 首先交代一下运行环境和工具版本: WIN10 ...
- FPGA之CORDIC算法实现_理论篇(上)
关于cordic的算法原理核心思想就是规定好旋转角度,然后通过不停迭代逐步逼近的思想来实现数学求解,网上关于这部分的资料非常多,主要可以参考: 1)https://blog.csdn.net/qq_3 ...