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. docker-将自己的Linux打包为镜像

    基于原始文件和目录从0开始制作镜像; 1)、基于CentOS7 Linux纯净系统(初始化安装完成),将Lin […]...

  2. Docker-compose搭建ELK环境并同步MS SQL Server数据

    Docker上部署ELK,同步 SQL SERVER 数据到ELK 前言 本文作为学习记录,供大家参考:一次使 […]...

  3. 使用littleTools简化docker/kubectl的命令

    littleTools littleTools是我根据日常运维时编写的一个小工具,开源在了https://gi […]...

  4. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境(上)

    写在前面   写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1 […]...

  5. 如何削减 50% 机器预算?“人机对抗”探索云端之路

    前言 人机对抗旨在联合各个安全团队,共同治理黑灰产。由于历史原因,业务端对各个安全能力的访问方式入口多,对接系 […]...

  6. macOS Docker 上安装、启动 MySQL

    1 、查看mysql镜像 docker search mysql   (查看所有镜像 docker image […]...

  7. 容器化-Docker-1-速查手册-Docker常用命令

    目录 备注 常用命令 Docker镜像管理(操作对象是镜像) Docker容器管理(操作对象是容器) 容器外挂 […]...

  8. docker安装及常用命令

    一、仓库、镜像、容器 官方docker hub 官方:https://hub.docker.com/explo […]...

随机推荐

  1. silky微服务简介

    代理主机 silky微服务定义了三种类型的代理主机,开发者可以根据需要选择合适的silky代理主机托管微服务应 […]...

  2. C++实现2048小游戏

    代码如下: 1 #define _CRT_SECURE_NO_WARNINGS//去掉编译器内部扩增问题 2 […]...

  3. VPS/云主机 如何试用远程连接登录主机服务器_

    1.windows主机如何远程登录 点本地电脑开始》运行(或者按”window+R”) […]...

  4. 服务器上Ftp设置外网访问

    方法一、路由器设置一对一NAT 自定义一个FTP端口号,其它设置默认   方法二、路由器设置虚拟服务器(端口映 […]...

  5. Zabbix-配置QQ邮箱报警通知

     问:为什么要配置报警信息?  答:如果只是监测并不能满足需求,还需要通过邮件的方式对问题进行通知,这样便于我 […]...

  6. Jmeter系列(26)- 详解 JSON 提取器

    果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/polo […]...

  7. 19个心得,明明白白说Linux下的负载均衡

    一、目前网站架构一般分成负载均衡层、web层和数据库层,我其实一般还会多加一层,即文件服务器层,因为现在随着网 […]...

  8. 什么是POP3、SMTP和IMAP?

    什么是POP3、SMTP和IMAP? POP3 POP3是Post Office Protocol 3的简称, […]...

展开目录

目录导航