未加星标

docker中部署golang项目的步骤详解

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

理解Docker

Docker可以帮您为自己的应用程序创建一个单一的可部署“单位”。这样的单位也叫做容器,其中包含了应用程序需要的一切。例如代码(或二进制文件)、运行时、系统工具,以及系统库文件。将所有这些需要的内容打包为一个单一的单位,可确保无论将应用程序部署在何处,都能提供完全相同的环境。这种技术还可以帮您维持完全一致的开发和生产环境,通常这些环境是很难被追踪的。

一旦搭建完成,容器的创建和部署将可自动进行。这本身就可以避免一系列问题。这些问题中大部分都是因为文件不同步,或开发和生产环境之间的差异导致的。Docker可以解决这些问题。

在开发过程中使用Docker所获得的收益

在开发工作中使用Docker可以获得的部分收益包括:
所有团队成员共同使用一个标准的开发环境,
集中更新依存组件,在任何位置使用相同的容器,
从开发到生产可以使用完全相同的环境,并且
更易于修复只可能在生产环境中遇到的潜在问题。

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序

一、交叉编译

windows 下编译 linux 64 位可执行程序

在项目所在根目录下执行:

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)

set GOOS=linux
GOARCH:目标平台的体系架构(386、amd64、arm)

set GOARCH=amd64
编译

go build .

二、打包镜像

Dockerfile(放在根目录下)

FROM hub.skyinno.com/common/alpine:latest
MAINTAINER FAE Config Server "[email protected]"
ADD mars /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/mars"]
FROM:为后面的指令设置基础镜像。一个有效的Dockerfile文件必须以FROM作为第一条非注释指令
MAINTAINER:设置生成的镜像的Author字段
ADD:复制新文件、目录或远程文件URL并添加他们到容器的文件系统路径
ENTRYPOINT:ENTRYPOINT允许配置容器作为可执行文件运行
在跟目录下进入docker环境

set DOCKER_HOST=tcp://10.110.200.29:5555
构建镜像

docker build -t hub.skyinno.com/fcae/mars .
// 查看镜像是否构建成功
docker images
启动服务

docker run -i -d --name=mars -p 8011:8011 hub.skyinno.com/fcae/mars
--name:指定服务名称
-p:设置服务对外暴露端口
查看服务是否启动成功

docker ps -a

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。  

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: DockerLinuxWindowsRY谢大中大
tags: docker,mars,com,镜像,容器,set,hub,ENTRYPOINT,skyinno,Docker,FROM,环境,文件,编译
分页:12
转载请注明
本文标题:docker中部署golang项目的步骤详解
本站链接:http://www.codesec.net/view/569315.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(86)