golang应用打包成docker镜像

fanyang1 2018-07-27 原文

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 8080:8080 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

 

发表于 2018-07-27 09:46 喜欢的味 阅读() 评论() 编辑 收藏

 

版权声明:本文为fanyang1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fanyang1/p/9375788.html

golang应用打包成docker镜像的更多相关文章

  1. Dock学习(一):容器介绍

    Dock学习(一):容器介绍 一、什么是容器   1、容器是一种轻量级、可移植、自包含的软件打包技术,使应用程 […]...

  2. docker 网络配置重置

    因为意外操作(把 docker 容器使用的桥接网卡给删掉了),导致无法访问容器内的服务,需要重新配置 dock […]...

  3. Docker系列——Grafana+Prometheus+Node-exporter微信推送(三)

    在之前博文中,已经成功的实现了邮件推送。目前主流的办公终端,就是企业微信、钉钉、飞书。今天来分享下微信推送,我 […]...

  4. 开发自己的 chart – 每天5分钟玩转 Docker 容器技术(167)

    本节讨论如何开发自己的 chart。 Kubernetes 给我们提供了大量官方 chart,不过要部署微服务 […]...

  5. macvtap使用教程

    kubernetes一键安装 macvtap是虚拟机网络虚拟化常用的一种技术,当然容器也可以用. MACVTA […]...

  6. Docker Hub国内镜像加速

    sudo /etc/docker/daemon.json { “registry-mirrors& […]...

  7. Docker(12)- docker run 命令详解

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/ […]...

  8. 强隔离容器的那些事

    为什么需要强隔离容器 我们在生产环境中运行容器已久,第一次对强隔离容器诉求是java类应用引起的,如果不配置j […]...

随机推荐

  1. 音乐标签pc版

    当前版本:1.0.8.0 运行环境:.NET Framework 4.6.1 操作系统:Windows Vis […]...

  2. 二叉树的遍历

    目录 一、二叉树的遍历 1.1 先序遍历 1.2 中序遍历 1.3 后序遍历 1.4 小结 二、二叉树的非递归 […]...

  3. Linux 使用 yum 查看安装的软件包

    Linux系统下yum命令查看安装了哪些软件包:  $yum list installed //列出所有已安装 […]...

  4. 邬贺铨:网络体系变革,演进式路线不再适用,颠覆性技术是关键

    5月22日,第三届未来网络发展大会在南京江宁盛大开幕,中国工程院院士邬贺铨发表了题为《网络体系变革的思考》的主 […]...

  5. eclipse/myeclipse注释模板的修改

    本文转自:http://kaminlee.iteye.com/blog/1101938 Window R […]...

  6. 机器学习 —— 基础整理(五)线性回归;二项Logistic回归;Softmax回归及其梯度推导;广义线性模型

         本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:So […]...

  7. 中国云计算厂商营收排名:阿里云完虐微软

    本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。 转 […]...

  8. SQL的update语句

    Update 语句 Update 语句用于修改表中的数据。 语法: UPDATE 表名称 SET 列名称 = […]...

展开目录

目录导航